當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSON是什么?如何产生的?
生活随笔
收集整理的這篇文章主要介紹了
JSON是什么?如何产生的?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
JSON:是一種輕量級(jí)的數(shù)據(jù)交換方式,它是基于javascript的一個(gè)子集。JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。
掌握了 JSON 格式之后,在 JavaScript 中使用它就很簡單了。JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。創(chuàng)建一個(gè)json數(shù)組: var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ], json數(shù)組轉(zhuǎn)換成String類型的文本字符串: String newJSONtext = people.toJSONString();
如果要處理大量 JavaScript 對(duì)象,那么 JSON 幾乎肯定是一個(gè)好選擇,這樣就可以輕松地將數(shù)據(jù)轉(zhuǎn)換為可以在請(qǐng)求中發(fā)送給服務(wù)器端程序的格式。
JSON和XML的比較: 1.可讀性: JSON和XML的可讀性可謂不相上下,一邊是簡易的語法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)。 2.可擴(kuò)展性 XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒有什么是XML能擴(kuò)展,而JSON卻不能擴(kuò)展的。不過JSON在Javascript主場(chǎng)作戰(zhàn),可以存儲(chǔ)Javascript復(fù)合對(duì)象,有著xml不可比擬的優(yōu)勢(shì)。 3.編碼難度 XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有提供的工具。無工具的情況下,相信熟練的開發(fā)人員一樣能很快的寫出想要的xml文檔和JSON字符串,不過,xml文檔要多很多結(jié)構(gòu)上的字符。 4.解碼難度 XML的解析方式有兩種: 一是通過文檔模型解析,也就是通過父標(biāo)簽索引出一組標(biāo)記。例如:xmlData.getElementsByTagName("tagName"),但是這樣是要在預(yù)先知道文檔結(jié)構(gòu)的情況下使用,無法進(jìn)行通用的封裝。 另外一種方法是遍歷節(jié)點(diǎn)(document 以及 childNodes)。這個(gè)可以通過遞歸來實(shí)現(xiàn),不過解析出來的數(shù)據(jù)仍舊是形式各異,往往也不能滿足預(yù)先的要求。 凡是這樣可擴(kuò)展的結(jié)構(gòu)數(shù)據(jù)解析起來一定都很困難。 而如果不知道JSON的結(jié)構(gòu)而去解析JSON的話,那簡直是噩夢(mèng)。費(fèi)時(shí)費(fèi)力不說,代碼也會(huì)變得冗余拖沓,得到的結(jié)果也不盡人意。但是這樣也不影響眾多前臺(tái)開發(fā)人員選擇JSON。因?yàn)閖son.js中的toJSONString()就可以看到JSON的字符串結(jié)構(gòu)。當(dāng)然不是使用這個(gè)字符串,這樣仍舊是噩夢(mèng)。常用JSON的人看到這個(gè)字符串之后,就對(duì)JSON的結(jié)構(gòu)很明了了,就更容易的操作JSON。
以上是在Javascript中僅對(duì)于數(shù)據(jù)傳遞的xml與JSON的解析。在Javascript地盤內(nèi),JSON畢竟是主場(chǎng)作戰(zhàn),其優(yōu)勢(shì)當(dāng)然要遠(yuǎn)遠(yuǎn)優(yōu)越于xml。如果JSON中存儲(chǔ)Javascript復(fù)合對(duì)象,而且不知道其結(jié)構(gòu)的話,我相信很多程序員也一樣是哭著解析JSON的。
總結(jié)
以上是生活随笔為你收集整理的JSON是什么?如何产生的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从数据库表中随机获取N条记录的SQL语句
- 下一篇: gradle idea java ssm