日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JSON是什么?它能帶來什么?它和XML比較?
  • 一、JSON是什么?
  • 二、如果到這里你還不明白?JSON是什么,那么我就發(fā)大招了!
  • 三、它能帶來什么?
  • 四、它和XML對(duì)比?
  • XML Demo
  • JSON Demo
  • Java常用的json庫
  • 總結(jié)

一、JSON是什么?

有一種叫做JSON (JavaScript Object Notation) 的輕量級(jí)數(shù)據(jù)交換格式能夠替代XML的工作。它就是JSON。

數(shù)據(jù)格式比較簡單, 易于讀寫, 格式都是壓縮的, 占用帶寬小。

易于解析這種語言, 客戶端JavaScript可以簡單的通過eval()進(jìn)行JSON數(shù)據(jù)的讀取。

包括ActionScript, C, C#, ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等語言服務(wù)器端語言, 便于服務(wù)器端的解析。

各語言對(duì)JSON支持的特別好,自從Ajax的流行,JSON格式傳輸就更流行了。

二、如果到這里你還不明白?JSON是什么,那么我就發(fā)大招了!

其實(shí)我在為公司面試的時(shí)候,我經(jīng)常有提到,假如我不知道JSON是個(gè)什么玩意?你怎么告訴我,讓我知道是個(gè)什么東西。(下面都是我的個(gè)人理解,因理解因人而異,受用即可?。?/p>

問了這么多人,其實(shí)結(jié)果不是我想要的,大多數(shù)的答案有這些。

它是前端和后臺(tái)交互用的。

它是鍵值對(duì)的。

以上2點(diǎn)比較多。還有一些亂七八糟的完全偏離了JSON。

那么它應(yīng)該是怎樣的?應(yīng)該這么回答,個(gè)人認(rèn)為!

首先,它只是一個(gè)字符串,它只是一個(gè)有規(guī)則的字符串。(重點(diǎn))

然后它的表達(dá)(表現(xiàn))形式是鍵值對(duì)的。其實(shí)非常類似Java語言里的Map,Objective-C里的字典,其他語言都有對(duì)應(yīng)的,我說實(shí)話其他語言我不知道!我為什么用MapString泛型,因?yàn)槔碚撋纤逆I值對(duì)應(yīng)該都是字符串,Why?這個(gè)問題問的好,我可以這么回答你,因?yàn)樗旧砭褪亲址?/p>

上面說的理論上表達(dá)方式,那么實(shí)際目前我們用到的鍵值對(duì)支持什么呢?可以支持String、Number、Array以及Boolean、null什么的。

它的作用是用來交互的,不一定Web項(xiàng)目的前后端交互也可以接口,配置文件,文件存儲(chǔ)等等都OK。目前移動(dòng)端比較火,一般的項(xiàng)目都會(huì)用JSON來傳輸。

三、它能帶來什么?

簡潔、簡單、體積小等。

上手容易,高效。

跨語言,目前移動(dòng)端Android、IOS一般項(xiàng)目構(gòu)造都是其他語言提供接口(JSON方式),移動(dòng)端讀取接口的方式開發(fā)。

….

四、它和XML對(duì)比?

可讀性:看了網(wǎng)上的各種帖子,有說可讀性相當(dāng),不過基本是說XML可讀性好,我認(rèn)為還湊合??梢源蚱绞帧?/p>

可擴(kuò)展性:有人說,“XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒有什么是XML能擴(kuò)展,JSON不能的。不過 JSON在Javascript主場(chǎng)作戰(zhàn),可以存儲(chǔ)Javascript復(fù)合對(duì)象,有著XML不可比擬的優(yōu)勢(shì)”。我贊同一半,我覺得這些帖子都是老帖子,XML可以靈活擴(kuò)展是因?yàn)楦鞣N語言有支持的其他Jar包,類庫等。但自從JSON火起來后,JSON的支持包,類庫等,相信每個(gè)語言都很多。像Java就有Jackson、goson、json-lib、FastJson等等多的去了。

編碼難度:XML有有DOM,SAX,STAX等解析技術(shù),JSON也有我上面說的那些,都OK。

解碼難度:同上。

解碼編碼效率:呵呵!解析XML有專用CPU、你造嗎?

下面給一個(gè)Demo

XML Demo

 
 
 
  1.  中國
  2.  
  3.  黑龍江
  4.  
  5.  哈爾濱
  6.  大慶
  7.  
  8.  
  9.  
  10.  廣東
  11.  
  12.  廣州
  13.  深圳
  14.  珠海
  15.  
  16.  
  17.  
  18.  臺(tái)灣
  19.  
  20.  臺(tái)北
  21.  高雄
  22.  
  23.  
  24.  
  25.  新疆
  26.  
  27.  烏魯木齊
  28.  
  29.  

JSON Demo

 
 
 
  1. {
  2.  "name": "中國",
  3.  "province": [  {  "name": "黑龍江",  "citys": {  "city": [  "哈爾濱",  "大慶"  ]  }  },  {  "name": "廣東",  "citys": {  "city": [  "廣州",  "深圳",  "珠海"  ]  }  },  {  "name": "臺(tái)灣",
  4.  "citys": {  "city": [  "臺(tái)北",  "高雄"  ]  }  },  {  "name": "新疆",  "citys": {  "city": [  "烏魯木齊"  ]  }  }  ]
  5. }

Java常用的json庫

我們?cè)谌粘i_發(fā)中少不了和JSON數(shù)據(jù)打交道,那么我們來看看JAVA中常用的JSON解析方式。

  • 1、JSON官方
  • 2、GSON
  • 3、FastJSON
  • 4、jackson

總結(jié)

當(dāng)項(xiàng)目沒有你接手的時(shí)候,沒有強(qiáng)行用XML的情況下,你就用JSON,沒有其他額外強(qiáng)行規(guī)定的情況下,你就用JSON。

本人是在學(xué)習(xí)Elasticsearch的時(shí)候開始強(qiáng)度的接觸JSON,可以這么給你形容,如果Elasticsearch返回的是一個(gè)XML,估計(jì)你要哭,Elasticsearch也要哭,這么和你比較你懂了嗎。


網(wǎng)站名稱:JSON是什么?它能帶來什么?它和XML比較?
網(wǎng)頁URL:http://m.5511xx.com/article/cochcpd.html