To Noob Json是什么鬼?
轉(zhuǎn)載請(qǐng)注明出處王亟亟的大牛之路
供應(yīng)商A:那我們數(shù)據(jù)怎么交互啊?HTTP吧?那內(nèi)容呢?JSON?XML?
小菜鳥B:JSON什么鬼?
為了菜鳥們避免以上情況樓主寫一發(fā)JSON的博文,廢話不多!開(kāi)始!
先梳理下概念
1.JSON是什么
JSON 指的是 JavaScript 對(duì)象表示法(JavaScript Object Notation)
JSON 是輕量級(jí)的文本數(shù)據(jù)交換格式
JSON 獨(dú)立于語(yǔ)言 *
JSON 具有自我描寫敘述性,更易理解
JSON 使用 Javascript語(yǔ)法來(lái)描寫敘述數(shù)據(jù)對(duì)象,可是 JSON 仍然獨(dú)立于語(yǔ)言和平臺(tái)。
JSON 解析器和 JSON 庫(kù)支持很多不同的編程語(yǔ)言。
眼下非常多的動(dòng)態(tài)(PHP,JSP。.NET)編程語(yǔ)言都支持JSON。
2.JSON和XML的同樣點(diǎn)以及不同點(diǎn)
同樣:
JSON 是純文本
JSON 具有”自我描寫敘述性”(人類可讀)
JSON 具有層級(jí)結(jié)構(gòu)(值中存在值)
JSON 可通過(guò) JavaScript 進(jìn)行解析
JSON 數(shù)據(jù)可使用 AJAX 進(jìn)行傳輸
不同:
沒(méi)有結(jié)束標(biāo)簽
更短
讀寫的速度更快
可以使用內(nèi)建的 JavaScript eval() 方法進(jìn)行解析
使用數(shù)組
不使用保留字
樣例:
簡(jiǎn)單的JSON對(duì)象
JSON的數(shù)據(jù)類型
JSON 值可以是:
實(shí)例
要被解析的json字符串
上面這段json字符串簡(jiǎn)單的說(shuō)明了一個(gè)人的一些屬性,各種類型的數(shù)據(jù)一目了然,那我們來(lái)試著寫寫這段JSON.
try { // 首先最外層是{},是創(chuàng)建一個(gè)對(duì)象 JSONObject person = new JSONObject(); // 第一個(gè)鍵phone的值是數(shù)組。所以須要?jiǎng)?chuàng)建數(shù)組對(duì)象 JSONArray phone = new JSONArray(); phone.put("1000000").put("2000000"); person.put("phone", phone); person.put("name", "wjj"); person.put("age", 20); // 鍵address的值是對(duì)象,所以又要?jiǎng)?chuàng)建一個(gè)對(duì)象 JSONObject address = new JSONObject(); address.put("country", "china"); address.put("province", "shanghai"); person.put("address", address); person.put("married", false); } catch (JSONException ex) { // 鍵為null或使用json不支持的數(shù)字格式(NaN, infinities) throw new RuntimeException(ex); }然后 再試著拆這段JSON
try {JSONObject jsonObject = new JSONObject(jsonData);person.phoneArray=jsonObject.optJSONArray("phone ");person.name=jsonObject.optString("name");person.age=jsonObject.optInt("age");JSONArray jsonObject1=jsonObject.opJSONArray("address");person.country=jsonObject1.opString("country");person.province=jsonObject1.opString("province");person.married=jsonObject.opBoolean("married"); } catch (JSONException e) {e.printStackTrace();}就是如此。一層一層撥開(kāi),邏輯非常清晰哦。
再推薦一些方便平時(shí)讀JSON的地址 :
http://www.bejson.com/
http://json.cn/
今天就到這里。謝謝大家!
。
轉(zhuǎn)載于:https://www.cnblogs.com/yxwkf/p/5354574.html
總結(jié)
以上是生活随笔為你收集整理的To Noob Json是什么鬼?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 03构建之法阅读笔记之三
- 下一篇: bootstrap 列表--水平定义列表