fastjson json转对象,字符串中null字段会被忽略,如何避免

3ks5zfa0  于 2021-11-27  发布在  Java
关注(0)|答案(2)|浏览(1236)

String str = "{"name":"测试","desc":{"a":1,"b":null}}";
Bean bean = JSON.parseObject(str, Bean.class)
转换后desc中的b字段不见了.
public class Bean {
private String name;
private String desc;
}
这个是其他issue扒来的,但是并没有解决

jpfvwuh4

jpfvwuh41#

目前处理方式:
// 先转,保留null
JSONObject a = JSON.parseObject(str, Feature.IgnoreNotMatch);
// 单独解析该字段
String desc = JSON.toJSONString(a.get("desc"), SerializerFeature.WriteMapNullValue) ;
// 转换后直接覆盖掉
Bean bean = JSON.parseObject(json, Bean.class);
bean.setDesc(desc);

嗯嗯,这都写了些啥啊

ujv3wf0j

ujv3wf0j2#

同款问题,请问有啥优雅的方案解决?

相关问题