讀前聲明:本文是我對json網上查找後的轉載,經過個人整理、標記便於自己學習複習的筆記而已。
JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基於 ECMAScript (w3c制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。
JSON 語法規則
JSON 鍵/值對
1 | {"firstName": "Json"} |
1 | {firstName : "Json"} |
JSON 與 JS 對象的關係
1 | var obj = {a: 'Hello' , b: 'World' }; //這是一個對象,注意鍵名也是可以使用引號包裹的 |
1 | var json = '{"a": "Hello", "b": "World"}' ; //這是一個 JSON 字符串,本質是一個字符串 |
JSON 和 JS 對象互轉
1 | var json = JSON.stringify({a: 'Hello' , b: 'World' }); //結果是 '{"a": "Hello", "b": "World"}' |
1 | var obj = JSON.parse( '{"a": "Hello", "b": "World"}' ); //結果是 {a: 'Hello', b: 'World'} |
常用類型
編輯基礎示例
編輯表示對象
1 | {"firstName": "Brett", "lastName": "McLaughlin"} |
表示數組
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的比較
編輯可讀性
可擴展性
編碼難度
解碼難度
實例比較
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 > |
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": ["烏魯木齊"] } }] } |