在我们平时开发过程中,Java bean 转JSON的时候有一些空数组,导致转换后的多了很多 “无用” 的数据。
{
student:{
"name":"江南也少",
"score": []
}
}
这个时候我们希望这个没有参加考试,也没有分的同学,不用输出score,该怎么办呢?
我们可以定义一个Filter类
public class NotWriteEmptyList implement{ @Override public boolean apply(Object o, String key, Object value) { if (value == null) { return false; } if(value instanceof String && ((String) value).isEmpty()){ return false; } if(value instanceof List && ((List) value).size() == 0){ return false; } return true; } }
在我们同String的时候new 一个Filter 传进去就OK了
JSON.toJSONString(entity, new NotWriteEmptyList());
这样就会得到如下的结果:
{
student:{
"name":"江南也少"
}
}