0 0

Jackson 序列化 如何让为NULL的属性不参与序列化5

public class User {

	private int id;
	
	private String name;
	
	private Date date;
}

	User u = new User();
	u.setId(1);
	u.setName("张三");
	u.setDate(new Date());

//结果{"id":1,"name":"张三","date":"2013-03-19"}

//如果u.setDate(null); 我不想让他参与序列化
// 我想返回{"id":1,"name":"张三"} 默认情况是{"id":1,"name":"张三","date":null}


Jackson
2013年3月29日 15:20

1个答案 按时间排序 按投票排序

0 0

采纳的答案

很简单。首先请确认你是Jackson是什么版本2.x以上即可

好了下面是代码

public class JSonWirteTest {
    public static void main(String[] args) {

        User user = new User();
        ObjectMapper mapper = new ObjectMapper();

        try {
            mapper.setSerializationInclusion(Include.NON_NULL);
            user.setAge(10);
            user.setMessages(new ArrayList<String>());
            user.setName(null);
            mapper.writeValue(new File("user.json"), user);

        } catch (JsonGenerationException e) {

            e.printStackTrace();

        } catch (JsonMappingException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}


结果:
{"age":10,"messages":[]}

2013年3月29日 16:46

相关推荐

    Json序列化时动态处理属性

    例如,当对象的某个属性可能不存在,但我们需要在序列化或反序列化时忽略它,可以使用`$`符号来引用。例如,`JSON.parseObject(json, new TypeReference, Object&gt;&gt;(){},{})`,这里的`{}`表示空的映射策略,意味着...

    如何利用Jackson序列化忽略指定类型的属性详解

    Jackson 序列化忽略指定类型的属性详解 Jackson 序列化是 Java 世界中最流行的序列化框架之一,对于 Apache Avro 对象的序列化提供了详细的解决方案。在本文中,我们将介绍如何利用 Jackson 序列化忽略指定类型的...

    java 序列化时排除指定属性

    然而,有时候我们不希望序列化对象的所有属性,可能是因为某些属性包含敏感信息,或者它们在反序列化时不需要。针对这种情况,Java提供了机制来排除特定属性进行序列化。本文将深入探讨如何在Java中实现这一功能。 ...

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

    当注解放在属性上时,只有当属性值不为null时,这个属性才会被序列化。当注解放在类上时,对于该类的所有属性都生效。具体取值有: - Include.NON_NULL:属性为null时不序列化。 - Include.NON_DEFAULT:属性值为...

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

    例如,`@JsonProperty`用于指定字段与JSON属性的映射,`@JsonIgnore`则可以忽略某个字段不进行序列化或反序列化。 5. **类型绑定**:Jackson能够处理多种Java类型,包括基本类型、集合、Map、自定义POJO等。此外,...

    SpringBoot中时间类型 序列化、反序列化、格式处理.docx

    在`JacksonCustomizerConfig`类中,通过`@Value`注解读取配置文件中的日期格式,然后使用`Jackson2ObjectMapperBuilderCustomizer`来定制`Jackson`的配置,为特定的日期时间类型设置自定义的序列化和反序列化器。...

    jackson注解包2.2.3.rar

    总结起来,Jackson注解包2.2.3是Java开发中处理JSON数据不可或缺的一部分,它提供了丰富的注解,帮助开发者更方便地进行序列化和反序列化操作,提高代码的可读性和可维护性。对于需要与JSON数据交互的Java应用程序,...

    spring使用jackson实现json

    四、使用Jackson序列化与反序列化 1. 序列化:将Java对象转换为JSON ```java import com.fasterxml.jackson.databind.ObjectMapper; // 创建一个对象 MyObject obj = new MyObject(); // 使用ObjectMapper将其转换...

    Jackson注解学习参考

    例如,可以使用`@JsonInclude(JsonInclude.Include.NON_NULL)`避免序列化时包含值为null的属性。 5. `@JsonFormat`: 用于规定日期、时间等值的格式。这对于处理日期和时间序列化非常有用。 6. `@JsonTypeInfo`和`@...

    SSM框架json使用jackson

    `@JsonInclude`可以避免序列化null值,而`@JsonAutoDetect`定义了何时自动检测字段、方法和构造函数。 5. **`@JsonFormat`**:用于格式化日期和时间,可以指定特定的日期时间格式。 在SSM中,Jackson的使用通常...

    使用jackson-mapper-lgpl序列化和反序列化

    NULL 博文链接:https://hw1287789687.iteye.com/blog/1997956

    jackson2 / jackson-all.jar

    这些注解允许开发者精细控制JSON序列化和反序列化过程,比如指定哪些字段参与序列化,如何处理null值,以及如何创建对象实例。 3. **Jackson Data Bind**: "jackson-databind-2.9.5.jar"是Jackson库最常用的部分,...

    jackson的jar包

    在使用Jackson时,应考虑其性能优化,比如启用树模型(`JsonNode`)以减少内存占用,或者使用`@JsonIgnore`注解避免不必要的属性序列化。同时,合理配置序列化策略,例如使用`@JsonInclude(JsonInclude.Include.NON_...

    json学习笔记、jackson的jar包

    3. Jackson序列化与反序列化: - 序列化:将Java对象转换为JSON字符串,使用`ObjectMapper`类的`writeValueAsString()`方法。 - 反序列化:将JSON字符串转换为Java对象,同样通过`ObjectMapper`,如`readValue()`...

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

    - `@JsonIgnore`: 忽略某个属性,不参与序列化或反序列化。 - `@JsonInclude(JsonInclude.Include.NON_NULL)`: 默认只包含非空属性。 - `@JsonFormat`: 控制日期、时间格式。 4. 高级特性 - 自定义序列化器和反序列...

    java对象序列化与反序列化的默认格式和json格式使用示例

    为了更具体地展示如何使用序列化和反序列化,这里有一个名为`Zoo`的类,它包含了一个动物列表和一个最大动物数量的属性。`Zoo`实现了`Serializable`接口,因此它的实例可以被序列化和反序列化: ```java public ...

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

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

    Jackson工具类

    - `@JsonInclude`控制哪些属性应包含在序列化结果中,如`@JsonInclude(JsonInclude.Include.NON_NULL)`仅包含非空属性。 - `@JsonFormat`用于设置日期和时间的格式。 4. **类型绑定与多态处理**: - Jackson支持...

    jackson-2.11.0.zip

    - 使用`@JsonIgnore`注解忽略特定字段不参与序列化或反序列化。 - `@JsonInclude(Include.NON_NULL)`可避免将值为null的属性写入JSON。 - `@JsonFormat`注解可以定义日期、时间的格式。 - `@JsonAutoDetect`可以控制...

    Jackson2.2.3.rar

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。标题中的"Jackson2.2.3.rar"表明这是一个包含Jackson库版本2.2.3的压缩包,其中可能包含了三个核心...

Global site tag (gtag.js) - Google Analytics