在我們平時開發過程中,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":"江南也少"
}
}