87387964 2019-07-01
package com.daily.json; import com.alibaba.fastjson.annotation.JSONField; import java.util.Date; public class Student { @JSONField(name = "NAME", ordinal = 3) private String name; @JSONField(ordinal = 2) private int age; @JSONField(format = "yyyy-MM-dd HH:mm:ss", ordinal = 1) private Date birthDay; @JSONField(serialize = false) private String addr; 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; } public Date getBirthDay() { return birthDay; } public void setBirthDay(Date birthDay) { this.birthDay = birthDay; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } }
package com.daily.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.serializer.PropertyFilter; import java.util.ArrayList; import java.util.Date; import java.util.List; public class TestFastJson { private static Student student; private static List<Student> studentList; static { student = new Student(); student.setName("张三"); student.setAge(18); student.setBirthDay(new Date()); student.setAddr("湖南"); studentList = new ArrayList<>(); studentList.add(student); studentList.add(student); } private static PropertyFilter propertyFilter = (object, name, value) -> { if (name.equals("age") && value.equals(18)) { return false; } return true; }; public static void main(String[] args) { String studentStr = JSON.toJSONString(student); //转对象 Student student1 = JSON.parseObject(studentStr, Student.class); Student student2 = JSON.parseObject(studentStr, new TypeReference<Student>() {}); //转集合 String studentListStr = JSON.toJSONString(studentList); List<Student> students = JSON.parseArray(studentListStr, Student.class); List<Student> students2 = JSON.parseObject(studentListStr, new TypeReference<List<Student>>() { }); //过滤字段,默认过滤null String student3 = JSON.toJSONString(student, propertyFilter); System.out.println(student3); } }