maven依赖包:
com.alibaba
fastjson
1.2.47
org.projectlombok
lombok
一:Java对象
package com.example.demo.json;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.time.LocalDate;
@Setter
@Getter
public class Student implements Serializable {
private Long id;
private String name;
private LocalDate birthday;
private Integer age;
@Override
public String toString() {
return JSONObject.toJSONString(this);
}
}
////////////////////////////////////////////////////////////////////////
package com.example.demo.json;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.List;
@Setter
@Getter
public class Clazz implements Serializable {
private Long id;
private String name;
private List students;
@Override
public String toString() {
return JSONObject.toJSONString(this);
}
}
二:Java对象转JSON字符串
private static void java2String() {
Student student = new Student();
student.setId(123L);
student.setName("jack");
student.setBirthday(LocalDate.now());
student.setAge(10);
Clazz clazz = new Clazz();
clazz.setId(123L);
clazz.setName("三年二班");
clazz.setStudents(Lists.newArrayList(student));
String jsonString = JSONObject.toJSONString(clazz);
System.out.println(jsonString);
//{"id":123,"name":"三年二班","students":[{"age":10,"birthday":"2019-08-28","id":123,"name":"jack"}]}
}
三:JSON字符串转JSON对象
private static void string2Json() {
String jsonString = "{\"id\":123,\"name\":\"三年二班\",\"students\":[{\"age\":10,\"birthday\":\"2019-08-28\",\"id\":123,\"name\":\"jack\"}]}\n";
JSONObject jsonObject = JSONObject.parseObject(jsonString);
String clazzName = jsonObject.getString("name");
System.out.println("clazzName:" + clazzName);
//clazzName:三年二班
}
四:JSON字符串转Java对象
private static void string2Java() {
String jsonString = "{\"id\":123,\"name\":\"三年二班\",\"students\":[{\"age\":10,\"birthday\":\"2019-08-28\",\"id\":123,\"name\":\"jack\"}]}\n";
Clazz clazz = JSONObject.parseObject(jsonString, Clazz.class);
System.out.println(clazz.toString());
//{"id":123,"name":"三年二班","students":[{"age":10,"birthday":"2019-08-28","id":123,"name":"jack"}]}
}
五:JSON对象转Java对象
private static void json2Java() {
String jsonString = "{\"id\":123,\"name\":\"三年二班\",\"students\":[{\"age\":10,\"birthday\":\"2019-08-28\",\"id\":123,\"name\":\"jack\"}]}\n";
JSONObject jsonObject = JSONObject.parseObject(jsonString);
System.out.println(jsonObject.getString("name"));
//三年二班
//json转数组
JSONArray jsonArray = jsonObject.getJSONArray("students");
List students = jsonArray.toJavaList(Student.class);
System.out.println(students.toString());
//[{"age":10,"birthday":"2019-08-28","id":123,"name":"jack"}]
}