值本身是一个有效的JSON字符串吗?

时间:2013-03-01 06:31:49

标签: json parsing

在JSON API中,返回123"somestring"null等单个值是否有效?

我读了JSON spec,其中指出:

  

JSON基于两种结构:

     
      
  • 名称/值对的集合。在各种语言中,这被实现为对象,记录,结构,字典,哈希表,键控列表或关联数组。
  •   
  • 有序的值列表。在大多数语言中,这被实现为数组,向量,列表或序列。
  •   

但我不清楚这是否意味着只有对象和数组是有效的JSON,或者它们自身的值是否也有效(即任何兼容的解析器都能正确解析)。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

不,它无效。如果您想尝试任何事情,请检查this

这两种结构如下:

某种键值对:

{
  "key": "value"
}

或数组

['value', 'value']

或两者的任意组合

[{"key":"value"}, "value", ["a", "list", {"another":['list']}]]

但是,这些值(数字,字符串,布尔值等)本身无效。

答案 1 :(得分:1)

123是名称/价值对的集合吗?不,不是。
123是一个有序的值列表吗?不,不是。

因此,123不是有效的JSON字符串。

编辑:正如gdoron建议的那样,您可以使用JSON解析器(例如here)来测试您的单个值。