全篇以阿里fastjson类使用, com.alibaba.fastjson
依赖:
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
前置
@Data
public class Student {
private String username;
private String sex;
private Integer age;
private String addres;
public Student() {
}
public Student(String username, String sex, Integer age, String addres) {
this.username = username;
this.sex = sex;
this.age = age;
this.addres = addres;
}
}
说明
- JSONObject和JSONArray 都继承JSON
- java实体类对应JSONObject , list对象对应JSONArray
实体类,list 转 json字符串
String jsonStr = JSONObject.toJSONString(实体类);
String jsonArrayStr = JSONArray.toJSONString(list对象);
实体类,list转json对象
String jsonStr= JSONObject.toJSONString(实体类);
JSONObject jsonObject=JSONObject.parseObject(jsonStr);
String jsonString = JSONArray.toJSONString(list对象);
JSONArray jsonArrayobjects =JSONArray.parseArray(jsonString);
json字符串 转实体类、list
步骤 json字符串先转成json对象,然后json对象在转成实体对象
示例:
//对象转json字符串
Student student=new Student("张三","男",25,"北京市海淀区");
String jsonStr = JSONObject.toJSONString(student);
//json字符串转对象
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
Student studentNew = jsonObject.toJavaObject(Student.class);
转成list对象示例:
//list对象转json字符串
List<Student> list=new ArrayList<>();
Student studenOne=new Student("李四","男",22,"山西省太原市");
Student studenTwo=new Student("小红","女",20,"江西省九江市");
list.add(studenOne);list.add(studenTwo);
//list先转换成json字符串,json字符串在转成jsonarray对象,然后再转成java list对象
String jsonArrayStr = JSONArray.toJSONString(list);
JSONArray jsonArray = JSONObject.parseArray(jsonArrayStr);
List<Student> listNew = jsonArray.toJavaList(Student.class);