W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本文將介紹JSON的基礎結(jié)構(gòu),包括鍵值對和數(shù)組,以及如何使用它們來表示數(shù)據(jù)。
JSON結(jié)構(gòu)共有2種:
對象結(jié)構(gòu)是使用大括號“{}”括起來的,大括號內(nèi)是由0個或多個用英文逗號分隔的“關鍵字:值”對(key:value)構(gòu)成的。
語法:
var jsonObj =
{
"鍵名1":值1,
"鍵名2":值2,
……
"鍵名n":值n
}
說明:
jsonObj指的是json對象。對象結(jié)構(gòu)是以“{”開始,到“}”結(jié)束。其中“鍵名”和“值”之間用英文冒號構(gòu)成對,兩個“鍵名:值”之間用英文逗號分隔。
注意,這里的鍵名是字符串,但是值可以是數(shù)值、字符串、對象、數(shù)組或邏輯true和false。
JSON數(shù)組結(jié)構(gòu)是用中括號“[]”括起來,中括號內(nèi)部由0個或多個以英文逗號“,”分隔的值列表組成。
語法:
var arr =
[
{
"鍵名1":值1,
"鍵名2":值2
},
{
"鍵名3":值3,
"鍵名4":值4
},
……
]
說明:
arr指的是json數(shù)組。數(shù)組結(jié)構(gòu)是以“[”開始,到“]”結(jié)束,這一點跟JSON對象不同。在JSON數(shù)組中,每一對“{}”相當于一個JSON對象,大家看看像不像?而且語法都非常類似。
注意,這里的鍵名是字符串,但是值可以是數(shù)值、字符串、對象、數(shù)組或邏輯true和false。
對于JSON對象結(jié)構(gòu)和JSON數(shù)組結(jié)構(gòu)的讀取、寫入、修改、刪除和遍歷等操作請到相應章節(jié)認真查看。
代碼片斷1
{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手簡介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜單",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"view",
"name":"視頻",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"贊一下我們",
"key":"V1001_GOOD"
}]
}]
}
然后用PHP的json_encode()函數(shù),對一二維數(shù)組轉(zhuǎn)換成JSON形式
但轉(zhuǎn)換出來的JSON形式:
代碼片斷2
{
"button": {
"1": {
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC"
},
"2": {
"type": "click",
"name": "歌手簡介",
"key": "V1001_TODAY_SINGER"
},
"3": {
"name": "菜單",
"sub_button": [
{
"type": "view",
"name": "搜索",
"url": "http://www.soso.com/"
},
{
"type": "view",
"name": "視頻",
"url": "http://v.qq.com/"
},
{
"type": "click",
"name": "贊一下我們",
"key": "V1001_GOOD"
}
]
}
}
}
看出來形式是不一致的。
只能來了解一下JSON的結(jié)構(gòu)形式。
JSON有兩種數(shù)據(jù):1.無序的對象結(jié)構(gòu);2.有序的數(shù)組結(jié)構(gòu)
1.無序的對象結(jié)構(gòu)
無序的對象結(jié)構(gòu)在不同語言中稱法不同,比如在Python中稱為字典,在JS中稱為JSON對象……
總之就是鍵/值對組合形式。
剛才我轉(zhuǎn)換出來的JSON結(jié)構(gòu)就是無序的鍵/值對組合
2.有序的數(shù)組結(jié)構(gòu)
有序的的數(shù)組結(jié)構(gòu),即代碼片斷2所展示的結(jié)構(gòu)。
將數(shù)組作為有序數(shù)組進行轉(zhuǎn)換JSON,就可以得到有序的JSON數(shù)組結(jié)構(gòu)。
在下一節(jié)內(nèi)容中,我們一起來認識 JSON 數(shù)據(jù)格式!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: