JSON中直接嵌套键值对的写法是否符合官方标准?
结论
{"name":"First":"Last"}属于完全不合法的JSON对象写法,不符合JSON官方标准规定。
原因说明
JSON对象的语法有严格的强制规则:
- 每个JSON对象必须用
{}包裹,内部为若干组键:值对,键值对之间用逗号分隔 - 每个字符串键后仅能跟随1个冒号,冒号后必须对应唯一的合法JSON值,合法JSON值仅包含6类:
- 用
{}包裹的JSON对象 - 用
[]包裹的JSON数组 - 双引号包裹的字符串
- 数字
- 布尔值
true/false null
- 用
你给出的写法里,"name"对应的位置没有出现上述6类合法值,反而直接出现了无{}包裹的"First":"Last"结构,同一层级还连续出现了两个冒号,完全突破了JSON的语法规则,所有标准JSON解析器都会直接抛出语法错误。
而你提到的{"name":{"First":"Last"}}是合法的,因为"name"对应的值是一个用{}完整包裹的标准JSON对象,符合值的类型要求。
内容的提问来源于stack exchange,提问作者Ivan Silkin
相关产品推荐
相关产品推荐

