【Json】Json數據格式初探

作爲一名安卓程序員,在做開發的過程中用到Json數據是必修課之一。

那麼,什麼是Json呢?Json數據由哪些特性和獨特的功能呢?.......等等一些列的疑問,下面就來一起了解下Json————

JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基於 ECMAScript 規範的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。————百度百科

相信已經有了些瞭解了吧。那麼就再來探討下

JSON 語法規則

在 JS 語言中,一切都是對象
  • 對象表示爲鍵值對
  • 數據由逗號分隔
  • 花括號保存對象
  • 方括號保存數組
  • JSON 鍵/值對
  • JSON 鍵值對是用來保存 JS 對象的一種方式,和 JS 對象的寫法也大同小異,鍵/值對組合中的鍵名寫在前面並用雙引號 "" 包裹,使用冒號 : 分隔,然後緊接着值:
    1
    {"firstName": "John"}
    這很容易理解,等價於這條 JavaScript 語句:
    1
    {firstName: "John"}

    JSON 與 JS 對象的關係


  • JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質是一個字符串。
  • JSON 和 JS 對象互轉


  • 要實現從對象轉換爲 JSON 字符串,使用 JSON.stringify() 方法:
    1
    var json = JSON.stringify({a: 'Hello', b: 'World'}); //結果是 '{"a": "Hello", "b": "World"}'
    要實現從 JSON 轉換爲對象,使用 JSON.parse() 方法:
    1
    var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結果是 {a: 'Hello', b: 'World'}

    基礎示例

    表示數組

    和普通的 JS 數組一樣,JSON 表示數組的方式也是使用方括號 []。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    {
         
     
    "people":[
             
     
    {
     
    "firstName": "Brett",
                 
    "lastName":"McLaughlin",
             
    },
             
     
    {
                 
    "firstName":"Jason",
     
    "lastName":"Hunter",
     
     
    }
     
     
     
    ]
     
    }

    實例比較

    XML和JSON都使用結構化方法來標記數據,下面來做一個簡單的比較。
    用XML表示中國部分省市數據如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?xml version="1.0" encoding="utf-8"?>
    <country>
        <name>中國</name>
        <province>
            <name>黑龍江</name>
            <cities>
                <city>哈爾濱</city>
                <city>大慶</city>
            </cities>
        </province>
        <province>
            <name>廣東</name>
            <cities>
                <city>廣州</city>
                <city>深圳</city>
                <city>珠海</city>
            </cities>
        </province>
        <province>
            <name>臺灣</name>
            <cities>
                <city>臺北</city>
                <city>高雄</city>
            </cities>
        </province>
        <province>
            <name>新疆</name>
            <cities>
                <city>烏魯木齊</city>
            </cities>
        </province>
    </country>
    用JSON表示如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    {
        "name": "中國",
        "province": [{
            "name": "黑龍江",
            "cities": {
                "city": ["哈爾濱", "大慶"]
            }
        }, {
            "name": "廣東",
            "cities": {
                "city": ["廣州", "深圳", "珠海"]
            }
        }, {
            "name": "臺灣",
            "cities": {
                "city": ["臺北", "高雄"]
            }
        }, {
            "name": "新疆",
            "cities": {
                "city": ["烏魯木齊"]
            }
        }]
    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章