Json允许尾随逗号

时间:2017-12-04 14:01:51

标签: .net json

我在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);

1 个答案:

答案 0 :(得分:0)

  

Json允许尾随逗号

不,不,不。这不是有效的JSON。一些解析器将允许它,但随后:一些解析器将允许 的注释无效。

尾随逗号在JSON中无效。

  

我们的问题是为什么它在VS2017解决方案中有效?

因为一些解析器会尝试尽可能多地解析,而不强制执行严格的一致性。据推测,就是这种情况。