这就是有效JSON所需要的,对吗?
["somestring1", "somestring2"]
答案 0 :(得分:265)
我会在ChrisR awesome answer上详细说明并带来awesome reference的图片。
有效的JSON始终以花括号{
或方括号[
开头,没有别的。
{
将启动object
:
{ "key": value, "another key": value }
提示:虽然javascript接受单引号
'
,但JSON只接受双重"
。
[
将启动array
:
[value, value]
提示:任何JSON解析器都会忽略元素之间的空格。
value
是object
,array
,string
,number
,bool
或null
:
所以是的,["a", "b"]
是一个完全有效的JSON,就像你可以try on the link Manish pointed一样。
以下是一些额外有效的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"]
}
答案 1 :(得分:54)
在这种情况下,您的JSON对象是一个列表。 JSON几乎总是一个具有属性的对象;一组一个或多个键:值对,因此您很可能会看到一个字典:
{ "MyStringArray" : ["somestring1", "somestring2"] }
然后您可以询问"MyStringArray"
的值,然后您将获得两个字符串"somestring1"
和"somestring2"
的列表。
我使用http://jsonlint.com/来验证我的JSON。
答案 2 :(得分:40)
基本上是的,JSON只是你的价值的javascript文字表示,所以你说的是正确的。
您可以在http://json.org/
上找到关于JSON表示法的非常明确和良好的解释答案 3 :(得分:5)
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字符串中解释很多。