问题描述
public class Student {private int id;private String name; public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}//正常用jsonObject序列化后得到字符串//{id:18, name:"张山"}// 现在如果name=null的话 我不想让它系列化 我想返回这样的结果{id:18},// 还有一个问题 我现在返回的JSON使用Spring的@ResponseBody标记自动返//回JSON的 如果用Spring自带的序列化 如果做到上述功能
解决方案
JsonConfig config = new JsonConfig(); config.setJsonPropertyFilter(new PropertyFilter() { @Override public boolean apply(Object source, String name, Object value) { return value == null; } }); JSONArray jsonArray = JSONArray.fromObject(object, config); System.out.println(jsonArray);