我在asp解决方案中的.json文件中有逗号。
{ "key": "Value1", "text": "Add new value" },
{ "key": "Value2", "text": "value 2" },
{ "key": "Value3", "text": "value 3" },
]
当我的团队成员告诉我"它不会工作时,我感到非常惊讶。在审查我的代码更改时,因为它工作=)我之前不知道这个细节,并且这个逗号在json中被禁止。我们的问题是为什么它在VS2017解决方案中有效?编译器可能用这个逗号做任何事情。
我使用此代码反序列化:
JsonFormat value = JsonConvert.DeserializeObject<JsonFormat>(jsonText);
答案 0 :(得分:0)
Json允许尾随逗号
不,不,不。这不是有效的JSON。一些解析器将允许它,但随后:一些解析器将允许 的注释无效。
尾随逗号在JSON中无效。
我们的问题是为什么它在VS2017解决方案中有效?
因为一些解析器会尝试尽可能多地解析,而不强制执行严格的一致性。据推测,就是这种情况。