免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用JSON.toJSONString中序列化空字符串遇到的坑
FastJson簡介fastjson是由alibaba開源的一套json處理器。與其他json處理器(如Gson,Jackson等)和其他的Java對象序列化反序列化方式相比,有比較明顯的性能優(yōu)勢


1.使用 JSON.toJSONString 竟然也有坑

今天,在對對象轉(zhuǎn)成JsonString的時候,對象有三個屬性,其中兩個有內(nèi)容,一個為 null

踩坑實例


這里箭頭指向的位置,因為 sent-1 中的 value為空 ,所以并未打印出來。

第二個使用:

JSON.toJSONString(map, SerializerFeature.WriteMapNullValue) 

指定序列化方式就打印出來了。


2.將對象轉(zhuǎn)換成 JsonString 在fastJson 中有兩種方式

  1. 通過 JSON.toJSONString
  2. 通過 JSONObject.toJSONString


3. WriteNullStringAsEmpty 和 WriteMapNullValue 均可以將為 null 的屬性顯示出來 , 而不是默認被忽略掉 ?

    System.out.println(JSON.toJSONString(message, SerializerFeature.WriteNullStringAsEmpty));    System.out.println(JSON.toJSONString(message,SerializerFeature.WriteMapNullValue));        {"data":null,"msg":" lankerens.com"}    {"data":null,"msg":" lankerens.com"}



4.對規(guī)則的理解:?

SerializerFeature.WriteMapNullValue 

是否輸出值為 null 的字段, 默認為false

也就是說有null時會輸出而不是忽略(默認策略是忽略,所以看不到為null的字段)


SerializerFeature.WriteNullStringAsEmpty

字符類型字段如果為null,輸出為 ”“ , 而非null

注意是字段是字段是字段 (即 屬性 ),而不是 json.put("key",null),所以用它時,字段為null的可以轉(zhuǎn)換為空字符串。


如果讓輸出的json中所有為null的字符串都變成空字符串,最簡單的做法就是加一個值過濾器,這樣就避免了有的字段為null,有的字段為空字符的現(xiàn)象。


    String a = null;    System.out.println(JSON.toJSONString(a, SerializerFeature.WriteNullStringAsEmpty));        {"a":""} / 而不是 {"a":null}
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
mybatis 通過Map,NULl字段不反回解決
Fastjson介紹
SpringMVC在循環(huán)引用時出現(xiàn)bug的問題探討
Ajax學習(6)
Java 中 JSON 的使用
ASP.NET MVC 中解決api請求參數(shù)為空字符串時后臺接收為null的問題
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服