json序列化NULL
Posted junnnnnnnn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json序列化NULL相关的知识,希望对你有一定的参考价值。
在项目中遇到一问题,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则不参与序列化
以上是关于json序列化NULL的主要内容,如果未能解决你的问题,请参考以下文章