大家平時用java對象轉json字符串。null或者空字符串屬性是不需要生成到json字符串里面的。
如下方式生成,沒有使用的屬性也會生成json字符串屬性。
1
2
3
4
5
|
JSONArray jsonarray = JSONArray.fromObject(ecmMessageMap.values()); msgObj = jsonarray.toString(); { "actionType" : "" , "clientIp" : "" , "ecServiceNumber" : "" , "ecmMessageEventFlow" : null , "endTime" : "" , "eventId" : "" , "faultEventFlowList" :[], "groupId" : "" , "psize" :0, "receiver" : "" , "receiverEcServiceNumber" : "" , "sender" : "" , "startTime" : "" , "successEventIds" :[]} |
Gson使用:
1
2
3
4
5
|
Gson g = new Gson(); msgObj = g.toJson(ecmMessage); { "actionType" : "1" , "successEventIds" :[], "faultEventFlowList" :[]} |
如果大數據傳輸,或者存儲到數據庫,合理生成json字符串,會節約很大一部分存儲空間和傳輸速度。比如交換監控mq數據json格式,交換監控容災數據庫存儲。
以上這篇java json不生成null或者空字符串屬性(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。