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

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

新聞中心

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

一、JSON是什么?

有一種叫做JSON (JavaScript Object Notation) 的輕量級數(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ù)器端的解析。

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

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

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

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

它是前端和后臺交互用的。

它是鍵值對的。

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

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

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

然后它的表達(dá)(表現(xiàn))形式是鍵值對的。其實非常類似Java語言里的Map,Objective-C里的字典,其他語言都有對應(yīng)的,我說實話其他語言我不知道!我為什么用MapString泛型,因為理論上它的鍵值對應(yīng)該都是字符串,Why?這個問題問的好,我可以這么回答你,因為它本身就是字符串。

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

它的作用是用來交互的,不一定Web項目的前后端交互也可以接口,配置文件,文件存儲等等都OK。目前移動端比較火,一般的項目都會用JSON來傳輸。

三、它能帶來什么?

簡潔、簡單、體積小等。

上手容易,高效。

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

….

四、它和XML對比?

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

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

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

解碼難度:同上。

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

下面給一個Demo

XML Demo

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

JSON Demo

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

Java常用的json庫

我們在日常開發(fā)中少不了和JSON數(shù)據(jù)打交道,那么我們來看看JAVA中常用的JSON解析方式。

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

總結(jié)

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

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


當(dāng)前文章:JSON是什么?它能帶來什么?它和XML比較?
文章起源:http://www.5511xx.com/article/cochcpd.html