//请求登录的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); } }