To Noob Json是什么鬼?
轉載請注明出處王亟亟的大牛之路
供應商A:那我們數據怎么交互啊?HTTP吧?那內容呢?JSON?XML?
小菜鳥B:JSON什么鬼?
為了菜鳥們避免以上情況樓主寫一發JSON的博文,廢話不多!開始!
先梳理下概念
1.JSON是什么
JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)
JSON 是輕量級的文本數據交換格式
JSON 獨立于語言 *
JSON 具有自我描寫敘述性,更易理解
JSON 使用 Javascript語法來描寫敘述數據對象,可是 JSON 仍然獨立于語言和平臺。
JSON 解析器和 JSON 庫支持很多不同的編程語言。
眼下非常多的動態(PHP,JSP。.NET)編程語言都支持JSON。
2.JSON和XML的同樣點以及不同點
同樣:
JSON 是純文本
JSON 具有”自我描寫敘述性”(人類可讀)
JSON 具有層級結構(值中存在值)
JSON 可通過 JavaScript 進行解析
JSON 數據可使用 AJAX 進行傳輸
不同:
沒有結束標簽
更短
讀寫的速度更快
可以使用內建的 JavaScript eval() 方法進行解析
使用數組
不使用保留字
樣例:
簡單的JSON對象
JSON的數據類型
JSON 值可以是:
實例
要被解析的json字符串
上面這段json字符串簡單的說明了一個人的一些屬性,各種類型的數據一目了然,那我們來試著寫寫這段JSON.
try { // 首先最外層是{},是創建一個對象 JSONObject person = new JSONObject(); // 第一個鍵phone的值是數組。所以須要創建數組對象 JSONArray phone = new JSONArray(); phone.put("1000000").put("2000000"); person.put("phone", phone); person.put("name", "wjj"); person.put("age", 20); // 鍵address的值是對象,所以又要創建一個對象 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不支持的數字格式(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();}就是如此。一層一層撥開,邏輯非常清晰哦。
再推薦一些方便平時讀JSON的地址 :
http://www.bejson.com/
http://json.cn/
今天就到這里。謝謝大家!
。
轉載于:https://www.cnblogs.com/yxwkf/p/5354574.html
總結
以上是生活随笔為你收集整理的To Noob Json是什么鬼?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 03构建之法阅读笔记之三
- 下一篇: Java语言基础(数组)