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的主要内容,如果未能解决你的问题,请参考以下文章

JSON序列化自己主动过滤NULL值

JSON 序列化从本地文件返回 null

使用 JSON.NET 反序列化自定义 null 处理

JSON序列化时为jsonrpc4j null

返回json时,字段为null的处理方式

Json.Net 不处理反序列化 null DataTable