使用JSONObject.toJSONString 過濾掉值為空的key
JSONObject.toJSONString 過濾值為空的key
情況
public static String getJsonResult(int status, String msg, Object data){undefined ? ? ? ? Map<String, Object> resultMap=new HashMap<String, Object>();? ? ? ?? ? ? ? ? resultMap.put("status", status); ? ? ? ? resultMap.put("msg", msg); ? ? ? ? resultMap.put("data", data); ? ? ? ? return JSONObject.toJSONString(resultMap); ? ? } public static void main(String[] args) {undefined ? ? ? ? System.out.println(getJsonResult(1, "success", null)); ? ? }
結(jié)果
{"msg":"success","status":1}
從輸出結(jié)果可以看出,null對應(yīng)的key已經(jīng)被過濾掉;這明顯不是我們想要的結(jié)果,這時我們就需要用到fastjson的SerializerFeature序列化屬性
也就是這個方法
JSONObject.toJSONString(Object object, SerializerFeature... features) ?
? ? public static String getJsonResult(int status, String msg, Object data){undefined ? ? ? ? Map<String, Object> resultMap=new HashMap<String, Object>(); ? ? ? ? resultMap.put("status", status); ? ? ? ? resultMap.put("msg", msg); ? ? ? ? resultMap.put("data", data); ? ? ? ? return JSONObject.toJSONString(resultMap,SerializerFeature.WriteMapNullValue); ? ? }
public static void main(String[] args) {undefined ? ? ? ? System.out.println(getJsonResult(1, "success", null)); ? ? }
結(jié)果
{"msg":"success","data":null,"status":1}
JSONObject.toJSONString自動過濾空值
使用fastjson將javabean轉(zhuǎn)string時,默認(rèn)會將值為null的屬性過濾掉,
可通過設(shè)置SerializerFeature.WriteMapNullValue避免這種情況
String value = JSONObject.toJSONString(objectData, SerializerFeature.WriteMapNullValue);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- String轉(zhuǎn)JSONObject的兩種方式
- Java中如何將String轉(zhuǎn)JSONObject
- 關(guān)于JSONObject.toJSONString出現(xiàn)地址引用問題
- 利用JSONObject.toJSONString()包含或排除指定的屬性
- JSONObject?toJSONString錯誤的解決
- 解決JSONObject.toJSONString()輸出null的問題
- Java使用fastjson對String、JSONObject、JSONArray相互轉(zhuǎn)換
- 詳解Java中String JSONObject JSONArray List<實體類>轉(zhuǎn)換
- 解決String字符串轉(zhuǎn)JSONObject順序不對的問題
相關(guān)文章
Spring Boot集成Redis實現(xiàn)緩存機(jī)制(從零開始學(xué)Spring Boot)
這篇文章主要介紹了Spring Boot集成Redis實現(xiàn)緩存機(jī)制(從零開始學(xué)Spring Boot),需要的朋友可以參考下2017-04-04java 使用memcached以及spring 配置memcached完整實例代碼
本篇文章主要介紹了java 使用memcached以及spring 配置memcached完整實例代碼,具有一定的參考價值,有興趣的可以了解一下2017-07-07logback StatusListener的定義方法源碼解讀
這篇文章主要為大家介紹了logback StatusListener的定義方法源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Eclipse手動導(dǎo)入DTD文件實現(xiàn)方法解析
這篇文章主要介紹了Eclipse手動導(dǎo)入DTD文件實現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10詳解Spring Cloud Stream使用延遲消息實現(xiàn)定時任務(wù)(RabbitMQ)
這篇文章主要介紹了詳解Spring Cloud Stream使用延遲消息實現(xiàn)定時任務(wù)(RabbitMQ),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01