例如,这应该是一个有效的 JSON 文档吗?
"foo"
json.org 上的语法规范并不完全清楚。我认为规范中的任何地方都没有说所有内容都必须位于有效 JSON 文档中的{}
对象或数组中。[]
JSONLint 将独立字符串标记"foo"
为错误,并期望所有内容都在{}
对象或[]
数组中。
但是,主要浏览器(IE 8、IE 10、Chrome 28、Firefox 23、Opera 12)的 JSON 对象可以接受独立的文字:
>>> JSON.parse('"foo"');
"foo"
>>> JSON.parse('true');
true
>>> JSON.parse('1234');
1234
与 Python 2.7+ 相同:
>>> import json
>>> json.loads('"foo"')
u'foo'
>>> json.loads('true')
True
>>> json.loads('1234')
1234
那么谁对谁错呢?