轉自:https://www.cnblogs.com/hwtblog/p/8483573.html
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式.易於閱讀和理解,也易於機器解析和生成.JSON采用獨立於語言的文本格式,使用了類似於C語言家族的習慣(包括C,C++,C#,Java, JavaScript, Perl, Python等).這些特性使得JSON成為理想的數據交換語言.
一 JSON構建於兩種結構:
- "名稱/值"對的集合(A collection of name/value pairs).在不同的語言中被理解為對象(Object),記錄(Records),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者是關聯數組(associative array)
- 值得有序列表(An ordered list of values),在大部分語言中被理解為數據(array)
二 JSON的形式
- 對象
對象是一個無序的"'名稱/值'對"集合.一個對象以“{”(左括號)開始,“}”(右括號)結束。每個“名稱”后跟一個“:”(冒號);“‘名稱/值’ 對”之間使用“,”(逗號)分隔。
2. 數組
數組是值(value)的有序集合。一個數組以“[”(左中括號)開始,“]”(右中括號)結束。值之間間使用“,”(逗號)分隔。
三 值的內容
值(value)可以是雙引號括起來的字符串(string)、數值(number)、true、false、 null、對象(object)或者數組(array)。這些結構可以嵌套。
字符串(string)是由雙引號包圍的任意數量Unicode字符的集合,使用反斜線轉義。一個字符(character)即一個單獨的字符串(character string)。
字符串(string)與C或者Java的字符串非常相似。
數值(number)也與C或者Java的數值非常相似。除去未曾使用的八進制與十六進制格式。除去一些編碼細節。
四 范例
注意:字符串一定要用雙引號括起來
數組中可以嵌套數組和對象
{ "name": "BeJson", "url": "http://www.bejson.com", "page": 88, "isNonProfit": true, "address": { "street": "科技園路.", "city": "江蘇蘇州", "country": "中國" }, "links": [ { "name": "Google", "url": "http://www.google.com" }, { "name": "Baidu", "url": "http://www.baidu.com" }, { "name": "SoSo", "url": "http://www.SoSo.com" } ] }