fastjson


import com.alibaba.fastjson.*;//导入fastjson-1.2.42.jar来解析json格式的数据

String str="{ \"code\":200, \"msg\":\"ok\", \"data\":{  \"collectionlist\":[{\"visit_person_id\":\"32\",  \"equipment_id\":\"equipment_id\",  \"visit_records\":[{  \"visit_id\": \"216\",  \"visit_person_id\": \"31\",  \"business_id\": \"670\",     }]    }]  } }";
JSONObject str1=JSON.parseObject(str);//将json字符串转换为json对象
JSONObject data=str1.getJSONObject("data");//获取json对象中data键所对应的值保存为json对象的格式
JSONArray collectionlist=(JSONArray) data.get("collectionlist");//获取json对象中collectionlist所对应的值,保存为json数组格式
String visit_person_id=collectionlist.getJSONObject(0).getString("visit_person_id");//获取collectionlist  json数组中第一个元素里的visit_person_id键对应的值,保存为字符串格式
log.info(visit_person_id);

 

import com.alibaba.fastjson.*;//导入fastjson-1.2.42.jar来解析json格式的数据

String str="{\"code\":\"200\",\"message\":\"执行成功\",\"部门成员\":[{\"ID\":\"001\",\"name\":\"limei\"},{\"ID\":\"002\",\"name\":\"lihong\"},{\"ID\":\"003\",\"name\":\"lijun\"}]}";
JSONObject str1=JSON.parseObject(str);//将json格式的字符串转换成json对象

JSONArray str3=(JSONArray) str1.get("部门成员");//如果获取的是数组[],则需要使用(JSONArray)强转
String name=str3.getJSONObject(0).getString("name");//获取json数组中第0个json对象中的name键对应的值
log.info(name);
int i;
for(i=0;i<str3.size();i++){//获取json数组的长度,循环输出数组中所有的name键对应的值
    String e=str3.getJSONObject(i).getString("name");//获取第i个json对象中的name键对应的值
    log.info(e);
}

 


import com.alibaba.fastjson.*;//导入fastjson-1.2.42.jar来解析json格式的数据

String str="{\"code\":\"200\",\"message\":\"执行成功\",\"部门成员\":[{\"ID\":\"001\",\"name\":\"limei\"},{\"ID\":\"002\",\"name\":\"lihong\"},{\"ID\":\"003\",\"name\":\"lijun\"}]}";
JSONObject str1=JSON.parseObject(str);//将json格式的字符串转换成json对象

String str2=str1.getString("部门成员");//获取json对象中"部门成员"键对应的值,得到的是json数组格式的字符串
log.info(str2);
JSONArray str3=JSON.parseArray(str2);//如果获取的是数组[],则需要使用(JSONArray)强转,将json数组格式的字符串转换成json数组格式

String name=str3.getJSONObject(0).getString("name");//获取json数组中第0个json对象中的name键对应的值
log.info(name);
int i;
for(i=0;i<str3.size();i++){//获取json数组的长度,循环输出数组中所有的name键对应的值
    String e=str3.getJSONObject(i).getString("name");//获取第i个json对象中的name键对应的值
    log.info(e);
}

 

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;//导入fastjson-1.2.42.jar来解析json格式的数据
String data="{\"code\":\"200\",\"data\":\"3994A788\",\"message\":\"执行成功\",\"success\":true,\"timestamp\":1587446311249}";
JSONObject  json1 = JSON.parseObject(data);//将json格式的字符串转换成json对象
String message=json1.getString("message");//获取json对象中message键对应的值
log.info(message);
String data3=json1.toJSONString();//将json对象转换成json字符串格式
log.info(data3);

 

//{"code":"0","message":"操作成功","data":{"coinCount":1000,"leftCount":0,"chanceFlag":true}}响应结果示例

import com.alibaba.fastjson.JSON;//导入fastjson-1.2.42.jar来解析json格式的数据
//String res=prev.getResponseDataAsString();//获取响应结果
String res="{\"code\":\"0\",\"message\":\"操作成功\",\"data\":{\"coinCount\":1000,\"leftCount\":0,\"chanceFlag\":true}}";//字符串中的双引号要转义
String code=JSON.parseObject(res).getString("code");//获取响应结果中的code值
log.info(code);
String data=JSON.parseObject(res).getString("data");//获取data
log.info(data);
String coinCount=JSON.parseObject(data).getString("coinCount");//获取data中的coinCount
log.info(coinCount);

 

posted @ 2020-11-30 08:43  那个谁呢  阅读(160)  评论(0编辑  收藏  举报