JSON數據格式


一、什么是JSON?

JSON 是用於存儲和傳輸數據的一種數據格式。

1、JSON 是純文本(字符串)
2、JSON 具有"自我描述性"(人類可讀)
3、JSON 具有層級結構(值中存在值)
4、JSON 可通過 JavaScript 進行解析
5、JSON 數據可使用 AJAX 進行傳輸

  

二、JSON的語法

1、數據在 名稱/值 對中
2、數據由逗號分隔
3、大括號 {} 保存對象
4、中括號 [] 保存數組,數組可以包含多個對象
5、JSON 規定字符集是UTF-8,字符串必須使用雙引號"",Object 的鍵也必須使用雙引號""
6、數組或對象的最后一個成員,不能加 逗號
7、JSON鍵值對的 值 在有些情況下不需要加引號,例如:
                                —— 數字
                                —— 布爾值true/false
                                —— null
                                —— {}
                                —— []

  

示例:

{
    "status": "0000",
    "state": 200,
    "message": "success",
    "test": true,
    "test2": null,
    "data": {
        "title": {
            "id": "001",
            "name": "白菜"
        },
        "content": [
            {
                "id": "001",
                "value": "你好 白菜"
            },
            {
                "id": "002",
                "value": "你好 蘿卜"
            }
        ]
    }
}

  

 

三、JSON對象

{ "name":"runoob", "alexa":10000, "site":null }
JSON 對象使用在大括號{}中書寫。

對象可以包含多個 key/value(鍵/值)對。

key 必須是字符串,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 null)。

key 和 value 中使用冒號(:)分割。

每個 key/value 對使用逗號(,)分割。

 

myObj = {
    "name":"runoob",
    "alexa":10000,
    "sites": {
        "site1":"www.runoob.com",
        "site2":"m.runoob.com",
        "site3":"c.runoob.com"
    }
}

  

四、JSON數組

[ "Google", "Runoob", "Taobao" ]
JSON 數組在中括號中書寫。

JSON 中數組值必須是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 null)。

JavaScript 中,數組值可以是以上的 JSON 數據類型,也可以是 JavaScript 的表達式,包括函數,日期,及 undefined。

  

{
"name":"網站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}

  

myObj = {
    "name":"網站",
    "num":3,
    "sites": [
        { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻譯" ] },
        { "name":"Runoob", "info":[ "菜鳥教程", "菜鳥工具", "菜鳥微信" ] },
        { "name":"Taobao", "info":[ "淘寶", "網購" ] }
    ]
}

  

 

五、JSON對象和JSON數據的嵌套

1、  一個JSON對象中可以嵌套一個或多個JSON數組

2、  一個JSON數組中也可以嵌套一個或多個JSON對象

3、  JSON對象或JSON數組中也可以嵌套一個或多個“自己”

如下是一個完美的例子:

{
    "name": "yinghui",
    "age": 20,
    "man": true,
    "money": null,
    "data1": {
            "d1": [1,2,3],
            "d2": [2,3,4]
    },
    "data2": {
            "d3": 100,
            "d4": 200
    },
    "data3": [
            {
                "d5": 300,
                "d6": 400
            },
            {
                "d7": 500,
                "d8": 600
            }
    ],
    "data4": [
        [4,5,6],
        ["hello","world"],
        ["000",true,null]
    ]
}

  

  

  

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM