首页 > 技术文章 > JSON使用

wuxinyan 2018-04-19 16:37 原文

JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。

规则如下:
1、映射用冒号(“:)表示。名称:值

2、并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2

3、映射的集合(对象)用大括号(“{}”)表示。此格式对应Java中的JsonObject。标准的json可以对应一个JsonObject
下面值1,值2可以是“4”中的格式JsonArray {name:JsonArray,name:JsonArray,name:JsonArray}
{
名称1:值1,
名称2:值2
}

4、并列数据的集合(数组)用方括号(“[]”)表示。此格式对应Java中的JsonArray
[
{名称1:值,名称2:值2},
{名称1:值,名称2:值2}
]
注意:json是一种格式,传输的过程中是String类型的,需要使用对应的方法把其转化成JsonObject对象或JsonArray对象。
5、元素值可具有的类型:string,number, object, array, true, false, null
注意:JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整个对象用大括号封装起来。可用大括号分级嵌套数据。
   对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。

6、JSON主要有两种数据结构
(1)由key–value对组成的数据结构。这种数据结构在不同的语言中有不同的实现.
例如:在javascript中是一个对象.而在java中是一种Map结构,c语言中是struct,其它的语言中可能为record、 hash table 等。
(2)有序集合、这种数据结构在不同语言中可能有list、vertor、数组和序列等实现。

7、前台的Data 格式相当于Java数组 用“[]” 括起来表示
[值1,值2,值3]
一般是转换传输过程
-->List \[]
-->JSONObject \{"keyword":"Smoking","keycount":475}
-->JSONArray \[{"keyword":"Smoking","keycount":475},{"keyword":"Nicotine","keycount":263}]
-->String \"[{"keyword":"Smoking","keycount":475},{"keyword":"Nicotine","keycount":263}]"
-->传输
-->前台得到String
-->解析成Object数组 JSON.parse(json.retMsg) \[object Object],[object Object]

8、List 和Data的格式相同,通过访问索引的形式进行访问。
[值1,值2,值3]

9、Map 键、值的形式存储 输出时用“=”链接
{key1=value, key2=value}

记忆方式:List 对应 JSONArray,Map对应JSONObject。

推荐阅读