json和資料庫中文檔介紹內容,json文件內容

本文目錄一覽:

json是什麼文件

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。 易於人閱讀和編寫。同時也易於機器解析和生成。 它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個子集。

JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數據交換語言。

JSON建構於兩種結構,一是「名稱/值」對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。

二是值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。

擴展資料: 

JSON簡要歷史

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個子集。

JSON是Douglas Crockford在2001年開始推廣使用的數據格式,在2005年-2006年正式成為主流的數據格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。

參考資料來源:百度百科—json

json 是什麼文件

SON的全稱是」JavaScript Object Notation」,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。XML也是一種數據交換格式,為什麼沒有選擇XML呢?因為XML雖然可以作為跨平台的數據交換格式,但是在JS(JavaScript的簡寫)中處理XML非常不方便,同時XML標記比數據多,增加了交換產生的流量,而JSON沒有附加的任何標記,在JS中可作為對象處理,所以我們更傾向於選擇JSON來交換數據。

JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成(網路傳輸速率)。JSON格式取代了xml給網路傳輸帶來了很大的便利,但是卻沒有了xml的一目了然,尤其是json數據很長的時候,我們會陷入繁瑣複雜的數據節點查找中。

JSON可以使用專門的編譯器打開。JSON有兩種表示結構,對象和數組。對象結構以」{」大括弧開始,以」}」大括弧結束。中間部分由0或多個以」,」分隔的」key(關鍵字)/value(值)」對構成,關鍵字和值之間以」:」分隔。

json數據格式,xml數據格式的區別和用法

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

JSON與XML的比較

 ◆可讀性

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

◆可擴展性

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

◆編碼難度

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

◆解碼難度

XML的解析方式有兩種:

一是通過文檔模型解析,也就是通過父標籤索引出一組標記。

例如:xmlData.getElementsByTagName_r(“tagName”),但是這樣是要在預先知道文檔結構的情況下使用,無法進行通用的封裝。

另外一種方法是遍歷節點(document 以及 childNodes)。這個可以通過遞歸來實現,不過解析出來的數據仍舊是形式各異,往往也不能滿足預先的要求。

凡是這樣可擴展的結構數據解析起來一定都很困難。

JSON也同樣如此。如果預先知道JSON結構的情況下,使用JSON進行數據傳遞簡直是太美妙了,可以寫出很實用美觀可讀性強的代碼。如果你是純粹的前台開發人員,一定會非常喜歡JSON。但是如果你是一個應用開發人員,就不是那麼喜歡了,畢竟 xml才是真正的結構化標記語言,用於進行數據傳遞。

而如果不知道JSON的結構而去解析JSON的話,那簡直是噩夢。費時費力不說,代碼也會變得冗餘拖沓,得到的結果也不盡人意。但是這樣也不影響眾多前台開發人員選擇JSON。因為json.js中的toJSONString()就可以看到 JSON的字元串結構。當然不是使用這個字元串,這樣仍舊是噩夢。常用JSON的人看到這個字元串之後,就對JSON的結構很明了了,就更容易的操作 JSON。

以上是在Javascript中僅對於數據傳遞的xml與JSON的解析。在 Javascript地盤內,JSON畢竟是主場作戰,其優勢當然要遠遠優越於xml。如果JSON中存儲Javascript複合對象,而且不知道其結構的話,我相信很多程序員也一樣是哭著解析JSON的。

◆實例比較

XML和JSON都使用結構化方法來標記數據,下面來做一個簡單的比較。

用XML表示中國部分省市數據如下:

?xml version=”1.0″ encoding=”utf-8″?

country

name中國/name

province

name黑龍江/name

citys

city哈爾濱/city

city大慶/city

/citys

/province

province

name廣東/name

citys

city廣州/city

city深圳/city

city珠海/city

/citys

/province

province

name台灣/name

citys

city台北/city

city高雄/city

/citys

/province

province

name新疆/name

citys

city烏魯木齊/city

/citys

/province

/country

用JSON表示如下:

{

name:”中國”,

province:[

{

name:”黑龍江”,

citys:{

city:[“哈爾濱”,”大慶”]

}

},

{

name:”廣東”,

citys:{

city:[“廣州”,”深圳”,”珠海”]

}

},

{

name:”台灣”,

citys:{

city:[“台北”,”高雄”]

}

},

{

name:”新疆”,

citys:{

city:[“烏魯木齊”]

}

}

]

}

編碼的可讀性,xml有明顯的優勢,畢竟人類的語言更貼近這樣的說明結構。json讀起來更像一個數據塊,讀起來就比較費解了。不過,我們讀起來費解的語言,恰恰是適合機器閱讀,所以通過json的索引.province[0].name就能夠讀取「黑龍江」這個值。編碼的手寫難度來說,xml還是舒服一些,好讀當然就好寫。不過寫出來的字元JSON就明顯少很多。去掉空白製表以及換行的話,JSON就是密密麻麻的有用數據,而xml卻包含很多重複的標記字元。

原創文章,作者:NDRS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144200.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NDRS的頭像NDRS
上一篇 2024-10-24 15:28
下一篇 2024-10-24 15:28

相關推薦

發表回復

登錄後才能評論