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