答案 0 :(得分:28)
对于新的JSON RFC,json只包含单个值非常有效。
JSON文本是序列化值。请注意,某些先前的JSON规范将JSON文本约束为对象或数组。
答案 1 :(得分:20)
<强> RFC4627 强>:
JSON文本是序列化对象或数组。
JSON-text = object / array
<强> RFC7159 强>:
JSON文本是序列化值。注意某些先前的 JSON的规范将JSON文本约束为对象或
阵列。仅生成对象或数组的实现 调用的JSON文本在所有的意义上都是可互操作的 实现将接受这些作为符合JSON文本。JSON-text = ws value ws
没有为这种改变提供哲学或实际的理由。早期版本可能更有意义,因为它始终要求包含单个列表元素和单个地图元素(对或元组)。第二个版本只允许包含一个列表元素。
答案 2 :(得分:12)
根据http://www.json.org/(引用Standard ECMA-262 3rd Edition - December 1999 par.5.1.5 JSON语法)中暴露的语法,这是错误的:
初始元素必须是:
然后一个值可以是一个字符串:
答案 3 :(得分:0)
来自RFC4627:
A JSON text is a serialized object or array. JSON-text = object / array
IE,根元素必须是一个对象或数组,并且不能单独作为字符串值。
答案 4 :(得分:-4)
我不在乎某个验证员是否接受它。这是不对的。这是一个良好实践的问题,Json格式必须是{"key": "value", .....}
。如果你认为文本Json可以工作,但对于程序员的其余部分来说,它不是一个严肃的Json。如果你只使用那个文本,那么你不需要Json。