fastjson的使用
package saveresponse;
import com.alibaba.fastjson.*;
public class json {
public static void main(String[] args){
String data="{\"code\":\"200\",\"data\":\"3994A788\",\"message\":\"执行成功\",\"success\":true,\"timestamp\":1587446311249}";
JSONObject json1 = JSON.parseObject(data);//将json格式的字符串转换成json对象
System.out.println(json1);
String message=json1.getString("message");//获取json对象中message键对应的值
System.out.println(message);
String data3=json1.toJSONString();//将json对象转换成json字符串格式
System.out.println(data3);
String str="{\"code\":\"200\",\"message\":\"执行成功\",\"部门成员\":[{\"ID\":\"001\",\"name\":\"limei\"},{\"ID\":\"002\",\"name\":\"lihong\"},{\"ID\":\"003\",\"name\":\"lijun\"}]}";
JSONObject str1=JSON.parseObject(str);//将json格式的字符串转换成json对象
System.out.println(str1);
String str2=str1.getString("部门成员");//获取json对象中"部门成员"键对应的值,得到的是json数组格式的字符串
System.out.println(str2);
JSONArray str3=JSON.parseArray(str2);//将json数组格式的字符串转换成json数组格式
System.out.println(str3);
String name=str3.getJSONObject(0).getString("name");//获取json数组中第0个json对象中的name键对应的值
System.out.println(name);
int i;
for(i=0;i<str3.size();i++){//获取json数组的长度,循环输出数组中所有的name键对应的值
String e=str3.getJSONObject(i).getString("name");//获取第i个json对象中的name键对应的值
System.out.println(e);
}
}
}
fastjson中使用方法:
其中包括三个主要的类:JSON、JSONArray、JSONObject
JSONObject代表json对象,主要是get方法,通过“键:值”对中的“键”来获取相对应的值
1.getString(String key)该方法用于获取json对象中的字符串类型数据
2.getInteger(String key)该方法用于获取json对象中的整数类型的数据
3.Size()该方法判断“键:值”对的个数
4.isEmpty()该方法判断“键:值”对是否为空
JSONArray代表json对象数组
JSON代表JSONArray和JSONObject的转化
JSONObject json1 = JSON.parseObject(aaa);//将json字符串转换成json对象
String message=json1.getString("message");//获取json对象中message键对应的值
String data3=json1.toJSONString();//将json对象转换成json字符串格式
JSONArray str3=JSON.parseArray(str2);//将json数组格式的字符串转换成json数组格式
String name=str3.getJSONObject(0).getString("name");//获取json数组中第0个json对象中的name键对应的值
Int num=str3.size()获取json数组的长度
/*如果获取的是数组[],则需要使用(JSONArray)强转*/
JSONArray jsonArray = (JSONArray) jb.get("deviceStatusList");
package saveresponse;
import com.alibaba.fastjson.*;
public class json {
public static void main(String[] args){
String str="{\"code\":\"200\",\"message\":\"执行成功\",\"部门成员\":[{\"ID\":\"001\",\"name\":\"limei\"},{\"ID\":\"002\",\"name\":\"lihong\"},{\"ID\":\"003\",\"name\":\"lijun\"}]}";
JSONObject str1=JSON.parseObject(str);//将json格式的字符串转换成json对象
System.out.println(str1);
JSONArray str3=(JSONArray) str1.get("部门成员");//如果获取的是数组[],则需要使用(JSONArray)强转
System.out.println(str3);
String name=str3.getJSONObject(0).getString("name");//获取json数组中第0个json对象中的name键对应的值
System.out.println(name);
int i;
for(i=0;i<str3.size();i++){//获取json数组的长度,循环输出数组中所有的name键对应的值
String e=str3.getJSONObject(i).getString("name");//获取第i个json对象中的name键对应的值
System.out.println(e);
}
}
}
package saveresponse;
import com.alibaba.fastjson.*;
public class json {
public static void main(String[] args){
String str="{ \"code\":200, \"msg\":\"ok\", \"data\":{ \"collectionlist\":[{\"visit_person_id\":\"visit_person_id\", \"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键对应的值,保存为字符串格式
System.out.println(visit_person_id);
}
}
浙公网安备 33010602011771号