黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

JSON 基礎(chǔ)結(jié)構(gòu)

json 基礎(chǔ)結(jié)構(gòu)

什么是json?json 就是 javascript 用來處理數(shù)據(jù)的一種格式,這種格式非常簡單易用。

json,大部分都是用來處理javascript和web服務(wù)器端之間的數(shù)據(jù)交換,把后臺web服務(wù)器的數(shù)據(jù)傳遞到前臺,然后使用javascript進行處理,例如ajax等。

json支持的語言非常多,包括javascript、c#、php、java等等,這是由于json獨立于語言的輕量級的數(shù)據(jù)交換格式,這個特點有點類似于sql語言。

 

1. json的兩種結(jié)構(gòu)

json結(jié)構(gòu)共有2種:

  • 對象結(jié)構(gòu);
  • 數(shù)組結(jié)構(gòu);

 

2. 對象結(jié)構(gòu)

對象結(jié)構(gòu)是使用大括號“{}”括起來的,大括號內(nèi)是由0個或多個用英文逗號分隔的“關(guān)鍵字:值”對(key:value)構(gòu)成的。

joson 對象機構(gòu)語法:

var jsonobj =
{
    "鍵名1":值1,
    "鍵名2":值2,
    ……
    "鍵名n":值n
}

說明:

jsonobj指的是json對象。對象結(jié)構(gòu)是以“{”開始,到“}”結(jié)束。其中“鍵名”和“值”之間用英文冒號構(gòu)成對,兩個“鍵名:值”之間用英文逗號分隔。

注意,這里的鍵名是字符串,但是值可以是數(shù)值、字符串、對象、數(shù)組或邏輯true和false。

 

3. json數(shù)組結(jié)構(gòu)

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)的讀取、寫入、修改、刪除和遍歷等操作請到相應(yīng)章節(jié)認真查看。

{
    "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形式:

{
    "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有兩種數(shù)據(jù):無序的對象結(jié)構(gòu)、有序的數(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é):json 數(shù)據(jù)格式

相關(guān)文章