JSON相关的常用方法

首先用maven引入fastjso

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
        </dependency>

1.JSON.toJSONString:(对象–>JSON字符串)

对象--------------------->string

        Student student = new Student(1,"张三","[email protected]",19);//Lombok中只有无参构造,这种需要重写有参构造方法
        List<Student> studentList = new ArrayList<>();
        studentList.add(student);
        String jsonString = JSON.toJSONString(studentList);
        System.out.println("student对象集合:"+student);
        System.out.println("json字符串:"+jsonString);

输出:

student对象集合:Student(id=1, name=张三, email=zhangsan@qq.com, age=19)
json字符串:[{
    
    "age":19,"email":"[email protected]","id":1,"name":"张三"}]

2.JSON.parseArray:(Json字符串–>集合)

string------------------------------->集合

        String jsonString = "[{age:19,email:'[email protected]',id:1,name:'张三'}]";
        List<Student> studentList = JSON.parseArray(jsonString, Student.class);
        System.out.println(studentList);

输出为:

[Student(id=1, name=张三, email=zhangsan@qq.com, age=19)]

3.JSON.parseObject:(Json字符串–>对象)

string-------------------->对象中有集合

Class 实体:

@Data
public class Class {
    
    
    private int classNo;
    private String className;
    private List<Student> studentList;
}

Student 实体

@Data
public class Student {
    
    
    private Integer id;
    private String name;
    private Integer age;
}

JSON.parseArray方法:

        String str = "{classNo:'01',className:'一班',studentList:[{id:1,name:'张三',age:01},{id:2,name:'李四',age:01},{id:3,name:'王五',age:01}]}";
        Class aClass = JSON.parseObject(str, Class.class);
        System.out.println("Class班级:" + aClass);
        System.out.println("student学生:"+aClass.getStudentList());

输出:

Class班级:Class(classNo=1, className=一班, studentList=[Student(id=1, name=张三, age=1), Student(id=2, name=李四, age=1), Student(id=3, name=王五, age=1)])

student学生:[Student(id=1, name=张三, age=1), Student(id=2, name=李四, age=1), Student(id=3, name=王五, age=1)]

猜你喜欢

转载自blog.csdn.net/weixin_55806809/article/details/121201140