Bas*_*ter 1 c# serialization json json.net jsonconvert
我在将JSON字符串序列化为键/值字典时遇到问题。代码如下:
var parameters = "{\"id\":123}";
JsonConvert.DeserializeObject<Dictionary<string, string>>(parameters);
Run Code Online (Sandbox Code Playgroud)
这个例子看起来很完美,给了我{[id,123]}。
现在。当我将数字更改为“ 070809”时,突然出现异常:“ Newtonsoft.Json.JsonReaderException:输入字符串“ 070809”不是有效数字。路径“ id”,第1行,位置12。---> System.FormatException:其他不可解析的字符位于字符串的末尾。”
var parameters = "{\"id\":070809}";
JsonConvert.DeserializeObject<Dictionary<string, string>>(parameters);
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
您的第二个示例不是有效的JSON。回想一下,JSON是基于JavaScript的,在该语言中,任何以0开头的数字文字都将被解释为八进制数。有效的八进制数字是0-7,因此,如果文字包含8或9,则无法对其进行解析,并且会引发错误。(“ 010203”有效,因为它是有效的八进制文字,但“ 070809”无效)
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |