json數據格式

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集javascript

JSON採用徹底==獨立於語言的文本格式==,可是也使用了相似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成爲理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成。html

JSON 語法是 JavaScript 對象表示法語法的子集。java

  • 數據在名稱/值對中:名稱是字符串,使用雙引號表示。值能夠是:數字(整數或浮點數),字符串(在雙引號中),數組(在[]中),對象(在花括號中),true/false/null。
  • 數據由逗號分隔:
  • 花括號{}保存對象:對象能夠包含各類數據,包括數組。
  • 方括號保存數組:數組能夠包含對象

JSON建構有兩種結構

json簡單說就是javascript中的對象和數組,因此這兩種結構就是對象和數組兩種結構,經過這兩種結構能夠表示各類複雜的結構json

  1. 對象:對象在js中表示爲「{}」括起來的內容,數據結構爲 {key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key爲對象的屬性,value爲對應的屬性值,因此很容易理解,取值方法爲 對象.key 獲取屬性值,這個屬性值的類型能夠是 ==數字、字符串、數組、對象幾種==。
  2. 數組:數組在js中是中括號「[]」括起來的內容,數據結構爲 [「java」,"javascript","vb",...],取值方式和全部語言中同樣,使用索引獲取,字段值的類型能夠是 ==數字、字符串、數組、對象==幾種。

通過對象、數組2種結構就能夠組合成複雜的數據結構了.數組

若是JSON中含有轉義字符,則須要轉義。例如文件路徑中須要使用"\"而不是""。例如:{ "file":"C:\\a.txt"}bash

好比說有一個JSON對象: 數據結構

image
能夠獲得他的字符串:

string testJson = "{\"Name\" : \"戰神\",\"sex\" : [\"男\",\"女\",\"人妖\"],\"Education\":{\"GradeSchool\" : \"第一小學\",\"MiddleSchool\" : [\"第一初中\" , \"第一高中\"], \"University\" :{ \"Name\" : \"哈佛大學\", \"Specialty\" : [\"一年級\",\"二年級\"]}}}";
複製代碼

這個JSON對象的結構是: 工具

image

JSON的在線編輯有:www.sojson.com/editor.htmlui

BeJson:能夠實現XML和JSON的相互轉化編碼

JSON和XML的比較

◆可讀性

JSON和XML的可讀性可謂不相上下,一邊是簡易的語法,一邊是規範的標籤形式,很難分出勝負。

◆可擴展性

XML天生有很好的擴展性,JSON固然也有,沒有什麼是XML不能擴展的,而JSON卻不能。不過JSON在Javascript主場做戰,能夠存儲Javascript複合對象,有着xml不可比擬的優點。

◆編碼難度

XML有豐富的編碼工具,好比Dom4j、JDom等,JSON也有提供的工具。無工具的狀況下,相信熟練的開發人員同樣能很快的寫出想要的xml文檔和JSON字符串,不過,xml文檔要多不少結構上的字符。

相關文章
相關標籤/搜索