json之单个独立文字能否形成有效的 JSON "document"

sky-heaven 阅读:36 2024-09-07 23:24:14 评论:0

例如,这应该是一个有效的 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 

那么谁对谁错呢?

请您参考如下方法:

在评论中找到这个

Actually there are two different JSON specifications. RFC 4627 requires a JSON text to be an object or an array. ECMA-262, 5th edition, section 15.12 does not impose this restriction.

JSON root element


标签:json
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号