JSON介紹
JSON(javascript Object Notation)類似於XML,是一種數據交換格式,比如JAVA產生一個數據想要給Javascript,除了可以使用XML,還可以使用JSON。
JSON數據機構
JSON有兩種數據結構:
1、Map,也成爲Object使用{...}
2、Array,數組使用[...]
所以JSON對象都是又這兩種形式組合而成。
1、Map
以鍵值對形式組成,使用鍵以:分割,Map與Map之間使用“,”隔開。{'key1':'value1','key2':'value2'}
官網圖:
2、Array
及就是數組,形式:['value1','value2','value3']
官網圖:
其中value的類型可以是:string、number、object、array、true、false、null
總結:
(1)JSON的數據結構只有兩種。
(2)實際中二者多是結合使用。
(3)Object以{}表示,Array是以[]表示。
JSON與XML對比
簡單格式對比
XML格式:
<person>
<name>yjz</name>
<age>23</age>
</person>
JSON格式:
"person":{
"name":"yjz",
"age":23
}
複雜格式對比
XML格式:<section>
<title>book</title>
<signing>
<author name="colin"></author>
<book title="book1" price="$120">
</signing>
<signing>
<author name="yjz"></author>
<book title="book2" price="$130">
</signing>
</section>
JSON格式:"section":{
"title":"book",
"signing":[
{
"author":{
"name":"colin"
},
"book":{
"title":"book1",
"price":120
}
},
{
"author":{
"name":"yjz"
},
"book":{
"name":"yjz",
"price":130
}
}
]
}
常用JSON包
自己目前所知常用的json解析包有org.json、lib-json、fastjson、gjson等。其中fastjson 是阿里開源的是java實現的,是目前java中最快的json庫,下一篇我將總結fastjson使用。本文多半摘自:http://blog.csdn.net/xiazdong/article/details/7059573,這篇博客講解的是org.json。