JSON數據格式


     JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成。

 

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

  • 數據在名稱/值對中:名稱是字符串,使用雙引號表示。值可以是:數字(整數或浮點數),字符串(在雙引號中),數組(在方括號中),對象(在花括號中),true/false/null。
  • 數據由逗號分隔:
  • 花括號保存對象:對象可以包含各種數據,包括數組。
  • 方括號保存數組:數字可以包含對象。
    JSON建構有兩種結構
    json簡單說就是javascript中的對象和數組,所以這兩種結構就是對象和數組兩種結構,通過這兩種結構可以表示各種復雜的結構
   1、對象:對象在js中表示為“{}”括起來的內容,數據結構為 {key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個屬性值的類型可以是 數字、字符串、數組、對象幾種。
   2、數組:數組在js中是中括號“[]”括起來的內容,數據結構為 [“java”,"javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數字、字符串、數組、對象幾種。
  經過對象、數組2種結構就可以組合成復雜的數據結構了.
      如果JSON中含有轉義字符,則需要轉義。例如文件路徑中需要使用"\\"而不是"\"。例如:{ "file":"C:\\a.txt"}。
   
     比如說有一個JSON對象
     可以得到他的字符串:
string testJson = "{\"Name\" : \"戰神\",\"sex\" : [\"男\",\"女\",\"人妖\"],\"Education\":{\"GradeSchool\" : \"第一小學\",\"MiddleSchool\" : [\"第一初中\" , \"第一高中\"], \"University\" :{ \"Name\" : \"哈佛大學\", \"Specialty\" : [\"一年級\",\"二年級\"]}}}";

    這個JSON對象的結構是:

 

 

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

BeJson:可以實現XML和JSON的相互轉化

JSON和XML的比較

可讀性

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

可擴展性

XML天生有很好的擴展性,JSON當然也有,沒有什么是XML能擴展,而JSON卻不能。不過JSON在Javascript主場作戰,可以存儲Javascript復合對象,有着xml不可比擬的優勢。

編碼難度

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

 

 


免責聲明!

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



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