在JSON API中,返回123
,"somestring"
或null
等单个值是否有效?
我读了JSON spec,其中指出:
JSON基于两种结构:
- 名称/值对的集合。在各种语言中,这被实现为对象,记录,结构,字典,哈希表,键控列表或关联数组。
- 有序的值列表。在大多数语言中,这被实现为数组,向量,列表或序列。
但我不清楚这是否意味着只有对象和数组是有效的JSON,或者它们自身的值是否也有效(即任何兼容的解析器都能正确解析)。
有什么想法吗?
答案 0 :(得分:4)
不,它无效。如果您想尝试任何事情,请检查this。
这两种结构如下:
某种键值对:
{
"key": "value"
}
或数组
['value', 'value']
或两者的任意组合
[{"key":"value"}, "value", ["a", "list", {"another":['list']}]]
但是,这些值(数字,字符串,布尔值等)本身无效。
答案 1 :(得分:1)
123是名称/价值对的集合吗?不,不是。
123是一个有序的值列表吗?不,不是。
因此,123不是有效的JSON字符串。
编辑:正如gdoron建议的那样,您可以使用JSON解析器(例如here)来测试您的单个值。