【发布时间】:2020-10-25 23:03:11
【问题描述】:
下面是我的一段代码,它在这一行中抛出了两个异常,我不知道这里有什么问题。
抛出的异常是:
- JsonReaderException:输入字符串“08”不是有效数字。路径“猿”,第 1 行,位置 51。
- FormatException:其他不可解析的字符位于字符串的末尾。
我逐行反序列化的Json如下:
{"PartitionKey": "test","RowKey": "first","Ape": 06,"Nepe": "depe","EPA": 323,"Time": "04/23/2012 18:25:43","bits": "test"}
{"PartitionKey": "test","RowKey": "Second","Ape": 107,"Nepe": "TNepe","EPA": 23,"Time": "04/22/2012 18:25:43","bits": "Ttest"}
{"PartitionKey": "test","RowKey": "Third","Ape": 08,"Nepe": "TNepe","EPA": 34,"Time": "04/20/2020 18:25:43","bits": "Jtest"}
读取前两行没有问题,但在第三/最后一行发生错误。我不确定出了什么问题,因为我确保行中或行尾没有多余的空格,并且“Ape”键是整数类型。
这是我的代码>,反序列化 Json 对象时发生错误。在屏幕截图中找到错误发生之前在行中传递的值>
foreach( var line in lines )
{
var data = JsonConvert.DeserializeObject<JObject>( line );
var errors = validator.Validate( data, schema );
if( errors.Count() > 0 )
{...
如果有人知道出了什么问题并需要修复,请告诉我。谢谢
【问题讨论】:
-
你知道这不是 json 吗?也就是说,json标准不支持前导零,你也把一堆json混在一起了。你为什么会出现这种情况?
-
我确实意识到,格式是我期望阅读的,它不是 json,但由于我是逐行阅读,代码处理了根元素问题,你的第二个问题大约是 0,我有一行读取前导零,但下一行抛出错误,这就是我的全部问题。如果第一行有错误,则不会发布此问题。