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扒来的,但是并没有解决
jpfvwuh41#
目前处理方式:// 先转,保留nullJSONObject 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);
嗯嗯,这都写了些啥啊
ujv3wf0j2#
同款问题,请问有啥优雅的方案解决?
2条答案
按热度按时间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);
嗯嗯,这都写了些啥啊
ujv3wf0j2#
同款问题,请问有啥优雅的方案解决?