我正在使用json.net来删除json文件,很少有一个文件,其中字段可能在其值之后可能没有尾随逗号。这会导致审判,因为它期望逗号。我正在查看JSON.NET文档,找不到可以指定仍能解析该字段的选项。
json.net中是否有办法不必担心尾随逗号?
下面,如果说如果一个字段在其末端不包含逗号,则会抛出一个例外。
{
"Rack": "0015",
"SampleType": "Specimen",
"SID": "HBSAG-PC",
"Position": 4,
"AssayNumber": 149,
"AssayVersion": 5,
"Dilution": 1,
"Replicate": 5
"Track": 1,
"Lane": 1,
"ReagentMasterLot": "08559LF00",
"ReagentSerialNumber": 65000,
"Comment": "HBSAG Q IIPC"
}
您发布的JSON无效。不是因为最后的逗号,而是因为中心缺少逗号
{
"Rack": "0015",
"SampleType": "Specimen",
"SID": "HBSAG-PC",
"Position": 4,
"AssayNumber": 149,
"AssayVersion": 5,
"Dilution": 1,
"Replicate": 5
"Track": 1,
"Lane": 1,
"ReagentMasterLot": "08559LF00",
"ReagentSerialNumber": 65000,
"Comment": "HBSAG Q IIPC"
}
此行"Replicate": 5"Track": 1,
缺少'5'和" track"之间的逗号。
校正后的JSON看起来像这样:
{
"Rack": "0015",
"SampleType": "Specimen",
"SID": "HBSAG-PC",
"Position": 4,
"AssayNumber": 149,
"AssayVersion": 5,
"Dilution": 1,
"Replicate": 5,
"Track": 1,
"Lane": 1,
"ReagentMasterLot": "08559LF00",
"ReagentSerialNumber": 65000,
"Comment": "HBSAG Q IIPC"
}
您可以使用JSONLINT验证JSON。
JSON规格要求对象之间的名称/值对具有逗号。(另请参见json.org)。如果逗号丢失,JSON无效。因此,任何符合标准的解析器都将抛出包括json.net在内的例外。没有选择忽略缺失的逗号。您需要将JSON修复到源。