阿里json常用的方法使用
package com.tedu.test;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.tedu.entity.Student;
import com.tedu.util.Common;
import org.thymeleaf.util.StringUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* TODO
*
* @author syl
*/
public class TestJson {
public static void main(String[] args) {
String s="{\"code\": \"200\",\"message\": \"success\",\"data\": {\"pageSize\": 2,\"pageCurrent\": 1,\"totalCount\": 16,\"pageTotal\": 8,\"records\": [{ \"id\": 8,\"sno\": \"9\",\"class1\": \"二年级\",\"name\": \"sy\",\"sex\": \"女\",\"chinese\": \"80\",\"math\": \"80\",\"english\": \"80\",\"createTime\": \"2021-01-22 07:30:02\",\"updateTime\": \"2021-01-22 07:30:02\"},{\"id\": 11, \"sno\": \"10\",\"class1\": \"二年级\",\"name\": \"s\",\"sex\": \"男\",\"chinese\": \"70\",\"math\": \"80\", \"english\": \"90\",\"createTime\": \"2021-01-22T07:33:20.000+00:00\", \"updateTime\": \"2021-01-22T07:33:20.000+00:00\"}]}}";
if(StringUtils.isEmpty(s)){
return;
}
JSONObject jsonObject = JSONObject.parseObject(s);
if (jsonObject.isEmpty() || jsonObject.size() == Common.Number.ZERO){
return;
}
JSONObject data = jsonObject.getJSONObject("data");
if (data.isEmpty() || data.size() == Common.Number.ZERO){
return;
}
JSONArray records = data.getJSONArray("records");
if (records.isEmpty() || records.size() == Common.Number.ZERO){
return;
}
String s1 = records.toString();
List<Map> list = JSONArray.parseArray(s1, Map.class);
//储存学生集合
List<Student> sList = new ArrayList<>();
//每一个学生对象键值对
Map map ;
//每一个学生对象
Student stu;
for(int i = Common.Number.ZERO; i<list.size();i++){
map = list.get(i);
stu = new Student();
setStudent(sList, map, stu);
}
sList.forEach(s11-> System.out.println(s11));
}
/**
* 构建学生对象
* @param sList
* @param map
* @param stu
*/
private static void setStudent(List<Student> sList, Map map, Student stu) {
stu.setChinese(map.get("chinese").toString() ==null ?"/":map.get("chinese").toString());
stu.setSno(map.get("sno").toString()==null ?"/":map.get("sno").toString());
stu.setCreateTime(new Date());
stu.setClass1(map.get("class1").toString()==null ?"/":map.get("class1").toString());
stu.setSex(map.get("sex").toString()==null ?"/":map.get("sex").toString());
stu.setName(map.get("name").toString()==null ?"/":map.get("name").toString());
stu.setEnglish(map.get("english").toString()==null ?"/":map.get("english").toString());
stu.setUpdateTime(new Date());
stu.setId(Integer.valueOf(map.get("id").toString()==null ?"0":map.get("english").toString()));
stu.setMath(map.get("math").toString()==null ?"/":map.get("math").toString());
sList.add(stu);
}
}