日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON/xml

發(fā)布時間:2023/11/29 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON/xml 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JSON是什么:

  JSON(JavaScriptObject Notation, JS 對象簡譜) 是一種輕量級的數(shù)據(jù)交換格式。它基于ECMAScript(歐洲計算機協(xié)會制定的js規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。

  2.JSON語法

  在 JS 語言中,一切都是對象。因此,任何支持的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。但是對象和數(shù)組是比較特殊且常用的兩種類型:

  • 對象表示為鍵值對
  • 數(shù)據(jù)由逗號分隔
  • 花括號保存對象
  • 方括號保存數(shù)組

  3.常用類型

  在 JS 語言中,一切都是對象。因此,任何支持的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。但是對象和數(shù)組是比較特殊且常用的兩種類型。

  對象:對象在 JS 中是使用花括號包裹 {} 起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key1:value1, key2:value2, ...} 的鍵值對結(jié)構(gòu)。在面向?qū)ο蟮恼Z言中,key 為對象的屬性,value 為對應(yīng)的值。鍵名可以使用整數(shù)和字符串來表示。值的類型可以是任意類型。

  數(shù)組:數(shù)組在 JS 中是方括號 [] 包裹起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["java", "javascript", "vb", ...] 的索引結(jié)構(gòu)。在 JS 中,數(shù)組是一種比較特殊的數(shù)據(jù)類型,它也可以像對象那樣使用鍵值對,但還是索引使用得多。同樣,值的類型可以是任意類型。

Java EE平臺中的JSON? processing

  • 使用對象模型API

  對象模型API的四個用例:從JSON數(shù)據(jù)創(chuàng)建對象模型,從應(yīng)用程序代碼創(chuàng)建對象模型,導(dǎo)航對象模型以及將對象模型編寫到流中:從JSON數(shù)據(jù)創(chuàng)建對象模型、從應(yīng)用程序代碼創(chuàng)建對象模型、導(dǎo)航對象模型、將對象模型寫入流。

  • 使用Streaming API

? ? ? ?使用解析器讀取JSON數(shù)據(jù),流API是解析JSON文本的最有效方法;使用生成器編寫JSON數(shù)據(jù)。

XML簡介

  1.基本簡介

  可擴展標(biāo)記語言,標(biāo)準通用標(biāo)記語言的子集,是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言。

?

在電子計算機中,標(biāo)記指計算機所能理解的信息符號,通過此種標(biāo)記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進行定義的源語言。 它非常適合萬維網(wǎng)傳輸,提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。是Internet環(huán)境中跨平臺的、依賴于內(nèi)容的技術(shù),也是當(dāng)今處理分布式結(jié)構(gòu)信息的有效工具。

  XML是標(biāo)準通用標(biāo)記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。

  • 可擴展標(biāo)記語言是一種很像超文本標(biāo)記語言的標(biāo)記語言。
  • 它的設(shè)計宗旨是傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)。
  • 它的標(biāo)簽沒有被預(yù)定義。您需要自行定義標(biāo)簽。
  • 它被設(shè)計為具有自我描述性。
  • 它是W3C的推薦標(biāo)準。

  2.格式特性

  它與Access,Oracle和SQL Server等數(shù)據(jù)庫不同,數(shù)據(jù)庫提供了更強有力的數(shù)據(jù)存儲和分析能力,例如:數(shù)據(jù)索引、排序、查找、相關(guān)一致性等,它僅僅是存儲數(shù)據(jù)。事實上它與其他數(shù)據(jù)表現(xiàn)形式最大的不同是:它極其簡單,這是一個看上去有點瑣細的優(yōu)點,但正是這點使它與眾不同。它和超文本標(biāo)記語言語法區(qū)別:超文本標(biāo)記語言的標(biāo)記不是所有的都需要成對出現(xiàn),它則要求所有的標(biāo)記必須成對出現(xiàn);HTML標(biāo)記不區(qū)分大小寫,它則大小敏感,即區(qū)分大小寫。

什么是XML:

?? 擴展標(biāo)記語言 (Extensible Markup Language, XML) ,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進行定義的源語言。 XML使用DTD(document type definition)文檔類型定義來組織數(shù)據(jù);格式統(tǒng)一,跨平臺和語言,早已成為業(yè)界公認的標(biāo)準。

  

  • XML管道

  XML管道是參與每個步驟的規(guī)范的XML處理器。如何以及何時在XML處理器中進行規(guī)范(由Unicode,IETF,W3C或其他組織定義)。

  • 數(shù)據(jù)模型

  基于已定義的子集規(guī)范:Unicode 3.1.0,RFC 2396,XML 1.0,命名空間,XML Base,XInclude,XML Schema和XLink / XPointer?或者仍然繼續(xù)我們當(dāng)前的方法(<7!),即每個XML應(yīng)用程序定義自己的集合?當(dāng)然,答案并不容易,但希望Infoset將減少XML管道中涉及的規(guī)范數(shù)量:Infoset,XInclude,XML Schema,XLink / XPointer(<4!)。PSV Infoset減少了這個數(shù)字:PSVI,XInclude,XLink / XPointer。

  這導(dǎo)致我們采用通用數(shù)據(jù)模型。由于歷史原因,在W3C中開發(fā)了幾個數(shù)據(jù)模型:DOM,XPath 1.0,Infoset,PSV Infoset,XML Query等。它們中的每一個都是向前一個添加/刪除信息。例如,最近的XQuery 1.0和XPath 2.0數(shù)據(jù)模型正在PSV Infoset之上添加參考節(jié)點信息項。

  DOM數(shù)據(jù)模型添加了更多信息,例如CDATA部分或?qū)嶓w引用。由于向后兼容性原因,更改DOM數(shù)據(jù)模型會很困難,但是,使用加載和保存模型,DOM能夠在不破壞向后兼容性的情況下滿足Infoset的要求。我們還能夠使用抽象模式/ PSVI對象模型來表示PSV信息集。恕我直言,應(yīng)該針對PSVI定義每個新的XML應(yīng)用程序,包括XInclude。

JSON和XML的比較

  • 可讀性

XML有明顯的優(yōu)勢,畢竟人類的語言更貼近這樣的說明結(jié)構(gòu)

  • 可擴展性

XML天生有很好的擴展性,JSON當(dāng)然也有,沒有什么是XML能擴展,而JSON卻不能。不過JSON在Javascript主場作戰(zhàn),可以存儲Javascript復(fù)合對象,有著xml不可比擬的優(yōu)勢。

  • 編碼難度

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

  • 解碼難度

??? XML的解析方式有兩種:一是通過文檔模型解析,也就是通過父標(biāo)簽索引出一組標(biāo)記;另外一種方法是遍歷節(jié)點。這個可以通過遞歸來實現(xiàn),不過解析出來的數(shù)據(jù)仍舊是形式各異,往往也不能滿足預(yù)先的要求。

XML和JSON都使用結(jié)構(gòu)化方法來標(biāo)記數(shù)據(jù),下面來做一個簡單的比較。


?

轉(zhuǎn)載于:https://www.cnblogs.com/dashuaiB/p/10725627.html

總結(jié)

以上是生活随笔為你收集整理的JSON/xml的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。