【发布时间】:2013-08-13 06:55:17
【问题描述】:
例如,这应该是有效的 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
那么谁对谁错?
【问题讨论】:
标签: json validation specifications lint