什么是FASTJSON
FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的Json框架
jar包引入
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
实体类
public class Student {
private String id;
private String name;
private int age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
public class Classes {
private String id;
private String name;
private List<Student> studentList;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Student> getStudentList() {
return studentList;
}
public void setStudentList(List<Student> studentList) {
this.studentList = studentList;
}
@Override
public String toString() {
return "Classes [id=" + id + ", name=" + name + ", studentList=" + studentList + "]";
}
}
转换操作
public class APP {
public static void main(String[] args) {
Student student = new Student();
student.setId("1");
student.setName("张三");
student.setAge(20);
List<Student> studentList = new ArrayList<Student>();
studentList.add(student);
Classes classes = new Classes();
classes.setId("1");
classes.setName("一班");
classes.setStudentList(studentList);
// java对象转为json
String classJson = JSONObject.toJSONString(classes);
System.out.println(classJson);
// json转为java对象
String json = "{\"id\":\"1\",\"name\":\"一班\",\"studentList\":[{\"id\":\"1\",\"name\":\"张三\",\"age\":20}]}";
Classes classes2 = JSONObject.parseObject(json, Classes.class);
System.out.println(classes2);
// json转换为list
String jsonList = "[{\"id\":\"1\",\"name\":\"张三\",\"age\":20}]";
studentList = JSONArray.parseArray(jsonList, Student.class);
System.out.println(studentList);
// json转为map
Map<String, Object> map = JSONObject.parseObject(classJson, new TypeReference<Map<String, Object>>() {});
System.out.println(map);
//结果
//{"id":"1","name":"一班","studentList":[{"id":"1","name":"张三","age":20}]}
//Classes [id=1, name=一班, studentList=[Student [id=1, name=张三, age=20]]]
//[Student [id=1, name=张三, age=20]]
//{name=一班, studentList=[{id=1, name=张三, age=20}], id=1}
}
}