`

[转]jackson json null不序列化

    博客分类:
  • json
阅读更多

jackson 实体转json 为NULL或者为空不参加序列化

 

1.实体上

@JsonInclude(Include.NON_NULL) 

//将该标记放在属性上,如果该属性为NULL则不参与序列化 
//如果放在类上边,那对这个类的全部属性起作用 
//Include.Include.ALWAYS 默认 
//Include.NON_DEFAULT 属性为默认值不序列化 
//Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 
//Include.NON_NULL 属性为NULL 不序列化 


2.代码上
ObjectMapper mapper = new ObjectMapper();

mapper.setSerializationInclusion(Include.NON_NULL);  

//通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化 
//Include.Include.ALWAYS 默认 
//Include.NON_DEFAULT 属性为默认值不序列化 
//Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 
//Include.NON_NULL 属性为NULL 不序列化 

User user = new User(1,"",null); 
String outJson = mapper.writeValueAsString(user); 
System.out.println(outJson);

 

注意:只对VO起作用,Map List不起作用

例如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
 
Map map = new HashMap();
map.put("a"null);
map.put("b""b");
 
String ret_val = mapper.writeValueAsString(map);
System.err.println(ret_val);
Map m = mapper.readValue(ret_val, Map.class);
System.err.println(m.get("a") + "|" + m.get("b"));
输出:
{"b":"b","a":null}
null|b

  

1
2
3
4
5
6
7
8
9
10
11
VO vo = new VO();
vo.setA(null);
vo.setB("b");
         
String ret_val1 = mapper.writeValueAsString(vo);
System.err.println(ret_val1);
VO v = mapper.readValue(ret_val1, VO.class);
System.err.println(v.getA() + "|" + v.getB());<br>
输出
{"b":"b"}
|b
分享到:
评论

相关推荐

    jackson 实体转json 为NULL或者为空不参加序列化(实例讲解)

    针对这个问题,本文将介绍两种方法,可以使得在使用Jackson进行序列化时,实体对象的属性值为null时,该属性不会被包含在生成的JSON字符串中。 首先,我们可以使用注解@JsonInclude来指定哪些属性需要被序列化。这...

    Json序列化时动态处理属性

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端数据传输。...在实际开发中,了解并熟练掌握这两个库的用法,将有助于提高工作效率,处理各种复杂的JSON序列化和反序列化场景。

    Jackson进行JSON解析和序列化jar包

    Jackson库提供了JSON的解析(Deserialization)和序列化(Serialization)功能,使得Java对象与JSON字符串之间可以轻松地进行转换。 Jackson库的核心组件包括: 1. **Jackson ObjectMapper**:这是Jackson库中的...

    jackson json 转 map 数值科学计数法的问题解决.docx

    Jackson JSON 转 Map 之科学计数法问题解决方案 Jackson 是一个流行的 Java 库,用于将 JSON 数据转换为 Java 对象或 Map。在使用 Jackson 将 JSON 转换为 Map 的过程中,可能会遇到科学计数法的问题。该问题的出现...

    jackson 对象json字符串数组集合互转

    例如,一个Java类可以有对应的JSON键值对,这样在序列化(对象转JSON)或反序列化(JSON转对象)时,Jackson会自动进行对应。 2. `ObjectMapper`: Jackson的核心类`ObjectMapper`提供了对象与JSON之间的转换功能...

    spring使用jackson实现json

    Jackson提供了丰富的注解,例如`@JsonProperty`、`@JsonIgnore`、`@JsonInclude`、`@JsonFormat`等,可以用来控制字段的序列化和反序列化行为。 - `@JsonProperty`: 指定字段应被序列化或反序列化。 - `@JsonIgnore...

    《Jackson 框架,轻易转换JSON》学习笔记

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。本篇学习笔记将深入探讨Jackson框架的核心概念和使用方法,帮助你轻松应对JSON与Java对象之间的...

    使用jackson完成json与java对象的互相转换实例

    在上述例子中,`password`字段不会出现在JSON中,`address`字段只有当其值不为null时才会被序列化。 4. **自定义类型转换** 对于复杂的类型转换,可以定义`JsonSerializer`和`JsonDeserializer`,或者使用`@...

    jackson json的简单使用

    Jackson是Java领域中广泛使用的JSON库,它提供了一套高效且功能丰富的API,用于处理JSON数据的序列化和反序列化。这篇博客“jackson json的简单使用”可能介绍了如何在Java项目中集成和使用Jackson库进行JSON操作。...

    使用json-lib将java对象转换成json字符串

    JSON字符串到Java对象的转换通常通过反序列化实现,而Java对象到JSON字符串的转换则称为序列化。 - json-lib库提供了一套API,使得这种转换变得简单。例如,使用`net.sf.json.JSONObject.fromObject()`方法可以将...

    Jackson实现Object对象与Json字符串的互转

    在本篇文章中,我们将深入探讨如何使用Jackson库实现Object对象与Json字符串的互转。 首先,让我们了解Jackson库的核心组件。Jackson库主要有三个核心模块: 1. `fasterxml.jackson.databind`:这是数据绑定模块,...

    用于java对象与json对象间的相互转换(net.sf.json.JSONObject)

    `JSONObject`提供了一种将JSON数据映射到Java对象的方法,这在反序列化时非常有用。假设我们有一个名为`Person`的Java类: ```java public class Person { private String name; private int age; // getters ...

    spring mvc拦截器过滤json中的null值

    注意,此解决方案使用了Jackson库来解析和序列化JSON,确保你的项目中已经包含了`jackson-databind`依赖。如果你的项目使用了其他JSON库,如Gson,那么你需要相应地调整JSON处理部分的代码。 通过这种方式,我们...

    List转Json

    在Java编程中,将`List&lt;Object&gt;`转换...综上所述,将`List&lt;Object&gt;`转换为Json主要是通过引入如Jackson这样的JSON处理库,利用其提供的API进行序列化操作。理解和掌握这些知识点对于进行Java与JSON数据的交互至关重要。

    json和java互转完整项目demo(jackson)

    该项目“json和java互转完整项目demo(jackson)”显然是一个使用Jackson库进行JSON与Java对象之间转换的示例项目。Jackson库的核心组件包括`ObjectMapper`,它是整个库的中心,负责JSON与Java对象之间的转换工作。 1...

    SSM框架json使用jackson

    3. **`@JsonIgnore`**:这个注解用于排除某个字段不参与序列化或反序列化过程。 4. **`@JsonInclude` 和 `@JsonAutoDetect`**:这两个注解控制序列化时的包含策略和可见性。`@JsonInclude`可以避免序列化null值,而...

    json与对象相互转换系列处理

    - 在序列化时,需要注意处理null值,因为JSON不包含null,通常会转换为空字符串或undefined。 - 在处理日期时,不同语言可能有不同的处理方式,需要特别注意。 - 安全性问题:在处理用户输入的JSON时,应确保进行...

    java json不生成null或者空字符串属性(详解)

    Gson库可以自动处理Java对象与JSON格式之间的转换,但是默认情况下,所有的属性,无论其值是什么,都会被序列化进JSON字符串中,包括null值和空字符串。 然而,在大数据传输或存储到数据库的场景中,包含大量无意义...

    Do JSON By Baeldung Jackson

    Jackson提供了一系列强大的注解来简化对象与JSON之间的序列化与反序列化过程。这些注解不仅能够帮助开发者更灵活地控制转换过程,还能够提高代码的可读性和可维护性。 ##### Overview Jackson的核心注解主要分为两...

    json学习笔记、jackson的jar包

    Jackson是Java领域中处理JSON的主流库之一,它提供了高效且功能丰富的API,使得JSON的序列化和反序列化变得简单易行。在这个“json学习笔记、jackson的jar包”中,我们可以深入探讨JSON和Jackson的相关知识点。 1. ...

Global site tag (gtag.js) - Google Analytics