0

为什么这是真的

  import json
  json.loads('{"A":2}')

但这是错误的:

  json.loads('{"A":2,}')

或者

  json.loads("['A':2]")
4

2 回答 2

3

JSON 是 JavaScript 的子集。这意味着有效的 JavaScript 不一定是有效的 JSON。

  • {"A":2,}是有效的 JS(旧 IE 版本除外),但不是有效的 JSON
  • ['A':2}甚至不是有效的 JS,因为大括号不匹配。如果它们匹配,它仍然是无效的 JSON,因为 JSON 总是使用"并且永远不会'引用字符串。

有关 JSON 规范,请参阅http://json.org/

于 2012-04-30T00:15:13.307 回答
1

因为最后两个选项不是有效的json

  • 最后一个元素后不应有逗号
  • a[应该匹配一个](数组)并且 a{应该匹配一个}(对象)
于 2012-04-30T00:13:59.507 回答