在项目中遇到一问题,json序列化需要将null传递给前端,但之前项目中使用的都是fastjson的JSONObject.toJSONString(vo),这样会过滤掉为NULL的属性。
解决办法:
1、依然使用fastjson,使用SerializerFeature.WriteMapNullValue参数,不过滤null,null也会传递给前端
String s = JSONObject.toJSONString(vo,SerializerFeature.WriteMapNullValue);
2、使用jsckson转json
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.ALWAYS);
String s =mapper.writeValueAsString(vo);
//Include.ALWAYS 默认,不会过滤null
//Include.NON_NULL 属性为NULL将不参与序列化
//Include.NON_DEFAULT 属性为默认值不参与序列化
//Include.NON_EMPTY 属性为“” 或 NULL都不参与序列化
注意:(1)、会根据设置的参数进行序列化
(2)、可以在实体上面加 @JsonInclude(Include.NON_NULL) 表示未NULL不参加序列化
在属性上面加@JsonInclude(Include.NON_NULL) 表示该属性为NULL则不参与序列化
原文地址:https://www.cnblogs.com/junnnnnnnn/p/10361313.html
时间: 2024-11-05 23:31:41