使用JSONObject转换之后字段丢失

如题所述

第1个回答  2022-06-05
方法:
JSONObject.toJSONString(object),转换之后发现属性值为null的属性被删除掉了,查询资料之后发现需要使用SerializerFeature序列化属性:
JSONObject.toJSONString(Object object, SerializerFeature... features)
序列化属性值:
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null

示例:
JSONObject.toJSONString(data, SerializerFeature.WriteMapNullValue);