后台处理接收到的json数据,这里记录几种格式,都是常见的。
com.alibaba.fastjson 阿里巴巴的包
格式:(普通嵌套)
取值:
String scope= JSONObject.parseObject(res).getJSONObject("data").getString("scope");
格式:(数组型)
String json = "{\"data1\":[{\"name\":\"aa\",\"age\":\"12\"},{\"name\":\"bb\",\"age\":\"13\"}],\"data2\":{\"nowpage\":1,\"pagesize\":2}}";
取值:
JSONObject object = JSONObject.parseObject(json);
JSONArray array = object.getJSONArray("data1");
for(int i = 0; i < array.size(); i++){
JSONObject o = array.getJSONObject(i);
System.out.println(o.get("age"));
System.out.println(o.get("name"));
}
格式:(直接就是数组)
String jaStr = "[{user:{name:\"张三\",age:\"20\"}},{score:{yuwen:\"80\",shuxue:\"90\"}}]";
取值:
//取值:
//将jsonArray字符串转化为JSONArray
JSONArray jsonArray = JSONArray.fromObject(jaStr);
//取出数组第一个元素
JSONObject jUser = jsonArray.getJSONObject(0).getJSONObject("user");
//取出第一个元素的信息,并且转化为JSONObject
String name2 = jUser.getString("name");
String age2 = jUser.getString("age");
- :其实主要就是,看json格式转,普通的:getJSONObject, 数组的:getJSONArray , 如果是嵌套的就,再看格式 .getJSONObject/或者.getJSONArray 再取key值.
格式:json字符串数据,转对应 List. eg:轮播
List<Banner> bannerList = JSONArray.parseArray(banner, Banner.class);
格式:List,转对应 JSON.
JSON.toJSON(orgradesRepository.list()).toString()
JSON转实体类:
SocketMsg socketMsg = JSON.toJavaObject(JSONObject.parseObject(message),SocketMsg.class);
实体类转JSON:
String jsonstring = JSON.toJSONString(loginBeen);
JSON字符串生成 :
String jsonTemplateParam= JSON.toJSONString(map);