JSON格式講解,JSON獲取對(duì)象,JSONObject和JSONArray的操作
這里就不說JSON是什么了。如果還不知道JSON是什么,先看下面幾篇文章。
JSON 非常易學(xué)易用。所以,在短短幾年中,它就取代 XML ,成為了互聯(lián)網(wǎng)上最受歡迎的數(shù)據(jù)交換格式。
1.為什么有JSON的出現(xiàn)。
JSON 作為一種簡易的傳輸數(shù)據(jù)格式,當(dāng)然也可以用 JSON 來表示一些事務(wù)。
我們在日常的編程中應(yīng)該能感覺到,有Object(對(duì)象) 和 Array(數(shù)組) 數(shù)據(jù)格式,就完全夠了,就能存儲(chǔ)和傳輸任意需求。然而我們的 JSON 就包含了這基本的Object 和 Array 。
2.JSON格式
{
"name": "SOJSON",
"age": "27",
"sex": "男",
"skill": [
"Java",
"IOS",
"Android"
]
}上面運(yùn)用了Object 和 Array。
{
"skill": [
"Java",
"IOS",
"Android"
]
}
可以看作是序列(sequence),就是連續(xù)的表達(dá)方式。
{
"name": "SOJSON"
}可以看作是映射(mapping),以鍵值對(duì)的方式表達(dá)方式。
3.JSON的取值
鍵值對(duì)Demo,如:var data = {"name": "SOJSON"};
取到name的值。那么就是 data.name 即可,或者 data["name"] 。
可能大多數(shù)人知道data.name 的方式取值,但是 data["name"] 的方式知道的稍微少一點(diǎn),以至于如果這個(gè)JSON是這樣 {"1":"2"} 怎么取值呢?
可能有人說 data.1 ?
我告訴你絕對(duì)報(bào)錯(cuò),所以有的人為了逃避這個(gè)問題,會(huì)采用這種命名方式, {"id1":"2"},也就是取值的時(shí)候,在前面加上一個(gè)字符串,也就可以 data.id1 取值了,這是正確的,其實(shí)沒必要。 data["1"] 如果你知道這樣可以,你還那樣去存儲(chǔ)嗎?
數(shù)組Demo,如 var data = {"skill": [ "Java", "IOS", "Android" ]};
首先它外面是一個(gè)鍵值對(duì),只不過Value值是一個(gè)數(shù)組,那么我們要取到Java怎么取呢?
這樣:data.skill[1] ;
是不是so easy ? ?
ps:總結(jié)起來就是那么簡單,遇到 “{” 就 “.” ,你看data.name、data.skill 。是不是,只不過數(shù)值類你得注意點(diǎn),然后遇到“[” 你就當(dāng)數(shù)組處理,下標(biāo)去取,或者循環(huán),去取,data.skill[1] 。
版權(quán)所屬:SO JSON在線解析
原文地址:http://suancuo.cn/blog/19.html
轉(zhuǎn)載時(shí)必須以鏈接形式注明原始出處及本聲明。
如果本文對(duì)你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。
