这就是有效JSON所需要的全部内容,对吗?

["somestring1", "somestring2"]

基本上是的,JSON只是你的值的javascript文字表示,所以你说的是正确的。

您可以在http://json.org/上找到关于JSON表示法的非常清晰和好的解释


在本例中,JSON对象是一个列表。JSON几乎总是一个带有属性的对象;一个或多个键:值对的集合,所以你很可能会看到一个字典:

{ "MyStringArray" : ["somestring1", "somestring2"] }

然后你可以请求“MyStringArray”的值,你会得到一个包含两个字符串的列表,“somestring1”和“somestring2”。


我会更详细地阐述克里斯的精彩回答,并从他的精彩参考中带来一些图片。

一个有效的JSON总是以花括号{或方括号[开头,没有其他。

{将启动一个对象:

{ "key": value, "another key": value }

提示:虽然javascript接受单引号,但JSON只接受双引号。

[将启动一个数组:

[value, value]

提示:元素之间的空格总是被任何JSON解析器忽略。

value为对象、数组、字符串、数字、bool或null:

是的,["a", "b"]是一个完全有效的JSON,就像你可以在Manish指向的链接上尝试一样。

下面是一些额外的有效JSON示例,每个块一个:

{}

[0]

{"__comment": "json doesn't accept comments and you should not be commenting even in this way", "avoid!": "also, never add more than one key per line, like this"}

[{   "why":null} ]

{
  "not true": [0, false],
  "true": true,
  "not null": [0, 1, false, true, {
    "obj": null
  }, "a string"]
}

String strJson="{\"Employee\":
[{\"id\":\"101\",\"name\":\"Pushkar\",\"salary\":\"5000\"},
{\"id\":\"102\",\"name\":\"Rahul\",\"salary\":\"4000\"},
{\"id\":\"103\",\"name\":\"tanveer\",\"salary\":\"56678\"}]}";

这是一个以Employee为对象的JSON字符串的例子,然后是数组中的多个字符串和值作为@cregox的引用…

有点复杂,但可以在一个JSON字符串中解释很多。