//請求登錄的JSON數據 { "request":"login", "data": { "username":"zhangsan", "password":"123", "client":"iphone", "other":"" } }
上面是JSON數據的格式,大家有沒有發現,其實JSON數據就是一個map,為什么JSON可以用來不同語言的通信呢?是因為在不同的語言當中,都可以將JSON數據轉換成JSON對象,
大家應該理解什么是對象吧。轉成對象之后,那么想要獲取值(jsonObj,假設轉換成JSON對象之后取一個變量名字叫jsonObj)那么想要獲取request的值"login",直接jsonObj.request。就可以了
我接下來舉個例子, java怎么來實現JSON數據的傳輸呢。
其實對象是肯定傳輸不了的,只有把JSON對象,轉成字符串,傳輸之后,到另一方再將字符串又轉成JSON,很多語言是完全可以互轉的。一下以java為例
首先寫一個java類,需要導入一個包import org.json.*;這個包jdk是沒有的,要下載一個jar包,這個jar包直接在百度上搜索org.json相關jar包,下載就行,導入eclipse中,
或者下面下載鏈接鏈接:https://pan.baidu.com/s/1m6_cBaYLNNshojKiRhfX8Q 密碼:htlx下載,導入
package com.edu.fzxy.jsontest; import org.json.JSONException; import org.json.JSONObject; public class TestJson { public static void main(String[] args) throws JSONException { //記得轉義,因為最外層已經是"",里面的""要轉義 String jsonStr="{\"request\":\"success\",\"age\":18,\"school\":\"清華大學\"}"; JSONObject jsonObj = new JSONObject(jsonStr); int age = jsonObj.getInt("age"); String request = (String) jsonObj.get("request"); System.out.println(age); System.out.println(request); } }