fastJSON对象转json字符串时遇到null让其转为空串““

it2026-06-12  8

创建一个学生对象

public class Student { private String name; private int age; private String gender; public Student() { } public Student(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } 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 String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }

创建一个测试类

public class Test01 { public static void main(String[] args) { Student student = new Student("张三", 20, null); String jsonString = JSON.toJSONString(student); System.out.println(jsonString); String jsonString2 = JSON.toJSONString(student, (ValueFilter)(object, ame, value) -> { if(value == null){ return ""; } return value; }); System.out.println(jsonString2); } }

输出结果

{"age":20,"name":"张三"} {"age":20,"gender":"","name":"张三"}

讲解

调用JSON.toJSONString(Object object, SerializeFilter filter, SerializerFeature… features)方法,自定义SerializeFilter

public static String toJSONString(Object object, SerializeFilter filter, SerializerFeature... features) { return toJSONString(object, SerializeConfig.globalInstance, new SerializeFilter[] {filter}, null, DEFAULT_GENERATE_FEATURE, features); } public interface SerializeFilter { }

我们选用SerializeFilter 的子类ValueFilter

public interface ValueFilter extends SerializeFilter { Object process(Object object, String name, Object value); }

重写process(Object object, String name, Object value);方法,当value为null时返回""

JSON.toJSONString(student, (ValueFilter)(object, ame, value) -> { if(value == null){ return ""; } return value; });
最新回复(0)