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);
 }
 
}


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

原文地址:https://www.cnblogs.com/jingdenghuakai/p/13188252.html