json总结
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构.听起来很简单,其实通过这两种结构可以表示各种复杂的结构。
JSON的两种结构
1、对象(object)
json对象:对象在json中表示为“{}”括起来的内容。
数据结构:键值对的结构。具体如下
{key:value,key:value,...} 。
在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为: object.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组(Array)
数组在json中是中括号“[]”括起来的内容。 数据结构为 ["java","javascript","vb",...]。
取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
举例说明
1、单一的对象
{
"key": "value"
}
2、单一的数组
[
"java",
"javascript",
"vb"
]
3、对象中包含数组
{
"key": "value",
"array1": [
"java",
"javascript",
"vb"
]
}
注意:其中array1为数组的key,且array1必须有。
4、数组中包含对象
[
"java",
"javascript",
"vb",
{
"key": "value",
"key1": "value"
}
]
注意:数组中的对象不需要额外的key.
5其他的一些例子
5.1、对象中一个Authen的数组,key为cookie的一个key-value
{
"Authen": [
{
"loginName": "userName",
"passwd": "McLaughlin"
},
{
"certMd5": "Jason",
"value": "randomStrMd5"
},
{
"passcode": "Jason"
}
],
"cookie": "cookievalue"
}
5.2、对象中包含一个数组,数组中包含对象
{
"Authen":{
"bb":[
{
"loginName": "userName",
"passwd":"McLaughlin"
},
{
"certMd5":"Jason",
"value":"randomStrMd5"
},
{
"passcode":"Jason"
}
]
},
{"cookie":"cookievalue"}
}