`

@JsonIgnore注解的使用

阅读更多
一、jackson的maven依赖
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.3</version>
</dependency>


二、实体类的建立
package cn.bjjs;

import org.apache.commons.lang3.builder.ToStringBuilder;

import com.fasterxml.jackson.annotation.JsonIgnore;
/**
 * 实体类
 * @author nxd
 *
 */
public class Person {
	private Integer id;
	private String name;

	@JsonIgnore
	private String hobbies;// 兴趣爱好

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getHobbies() {
		return hobbies;
	}

	public void setHobbies(String hobbies) {
		this.hobbies = hobbies;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}


三、测试类代码:
package cn.bjjs;
import java.io.IOException;

import com.fasterxml.jackson.databind.ObjectMapper;

public class JSONTest {
    public static void main(String[] args) throws IOException {
        Person p = new Person();
        p.setId(1001);
        p.setName("huangbaokang");
        p.setHobbies("篮球");
        // 未加@JsonIgnore注解时,控制台打印输出{"id":1001,"name":"huangbaokang","hobbies":"篮球"}
        // 加上@JsonIgnore注解时,控制台输出了{"id":1001,"name":"huangbaokang"},把hobbies的值过滤了。
        System.out.println(new ObjectMapper().writeValueAsString(p));
    }
}
分享到:
评论

相关推荐

    json的动态和静态过滤

    例如,可以使用`@JsonIgnore`注解来忽略某个字段,或者使用`@JsonProperty`仅包含特定字段。这样,无论何时序列化或反序列化对象,这些注解都会确保指定的字段不会出现在JSON中。 2. **动态过滤**: 动态过滤则是...

    Spring注解 - 52注解 - 原稿笔记

    注解包含: 拦截器 , 过滤器 , 序列化 , @After , @AfterReturning , @AfterThrowing , @annotation , @Around , @Aspect , @Autowired , @Bean , @Before , @Component , @ComponentScan , @ComponentScans , @...

    Jackson使用方法1.docx

    // 通过添加@JsonIgnore注解,使Jackson在获取属性值时,忽略该getter方法 @JsonIgnore public String getName() { return null; } // ... } ``` 在这个例子中,`getName()`方法会被Jackson忽略,不会出现...

    JPA注解的解释和说明.pdf

    @JsonIgnore:此注解用于在进行JSON序列化时忽略指定的属性。 @JoinColumn(name="loginId"):此注解用于指定外键列的名称,用于一对一或一对多的表关联。 @OneToOne、@OneToMany、@ManyToOne:这些注解分别对应于...

    Jackson使用方法1

    在这个例子中,由于`getAge()`方法被`@JsonIgnore`注解,所以在转换JavaBean到JSON时,`age`属性将不会出现在生成的JSON字符串中。 总的来说,Jackson库提供了强大的工具来处理JSON数据,包括将Java对象转换为JSON...

    Spring boot中Jackson的操作指南

    例如,我们可能会遇到日期的格式化问题,可以使用 @JsonFormat 注解来解决该问题。 Jackson 是一个功能强大且灵活的 JSON 处理器,在 Spring Boot 项目中,我们可以方便地使用 Jackson 来对 Java 对象进行 JSON ...

    最新版本 jackson 2.8.2 jar与spring 4.x @ResponseBody配合使用

    - **jackson-annotations**:包含了一系列注解,用于自定义序列化和反序列化的行为,如`@JsonProperty`、`@JsonInclude`和`@JsonIgnore`等,可以增强JSON表示的灵活性。 2. **Jackson 2.8.2 版本**: 这个版本是...

    将list转换为json失败的原因

    特别是当一个实体类中存在一对多或多对一的关系时,如果这些关系对应的字段不需要参与JSON序列化,就需要使用@JsonIgnore注解来标记这些字段。这样做可以确保在进行JSON转换时,那些被注解标记的字段不会被包含进...

    jackson注解包2.2.3.rar

    使用这些注解,开发者可以自定义JSON的结构,处理复杂的序列化需求,例如忽略某些字段、处理日期格式、处理多态类型等。在2.2.3版本中,这些功能已经非常成熟,广泛应用于各种Java项目,尤其是Web服务和RESTful API...

    JSON序列化和反序列化.docx

    在这个文档中,我们将重点讨论三个关键注解:`@JsonIgnore`, `@JsonFormat`, 和 `@JsonProperty`,以及如何使用 `JsonFilter` 实现动态数据列过滤。 `@JsonIgnore` 是一个非常实用的注解,当它被应用于一个属性上时...

    解决spring mvc JSON 无限死循环

    最简单的方法是在实体类中使用`@JsonIgnore`注解来忽略特定字段的序列化,从而避免循环引用。 ```java public class Album { private String name; @JsonIgnore private List&lt;Photo&gt; photos = new ArrayList()...

    Jackson注解学习参考

    3. `@JsonIgnore`: 如果不想让某个字段出现在序列化的JSON中,可以使用这个注解。 4. `@JsonInclude`: 控制哪些属性应该包含在序列化过程中。例如,可以使用`@JsonInclude(JsonInclude.Include.NON_NULL)`避免序列...

    不用注解的json字段忽略

    然而,有时我们需要更灵活的控制,不希望像使用注解那样一次性忽略所有不想序列化的字段。这时,我们可以利用Jackson的`@JsonIgnoreProperties`注解的变体,或者使用自定义的序列化和反序列化模块来实现这一目标。 ...

    json-lib-2.4-jdk15.jar下载

    3. 支持注解:支持@JSON、@JSONIgnore等注解配置对象的序列化和反序列化。 4. 支持流:除了支持对象/JSON与字符串的相互转换,也支持与InputStream/OutputStream的相互转换,处理大数据时比较有用。 5. 无依赖:json-lib...

    jackson-databind-3.0.0.jar下载

    3. 支持多种注解配置序列化和反序列化:支持@JsonIgnore, @JsonFormat, @JsonView等多种注解配置对象与JSON的映射方式。 4. 高性能:jackson-databind基于Jackson Streaming API和基于类型的抽象序列化模式,性能优异...

    jackson-annotations-2.7.0.jar,jackson-core-2.7.0.jar,jackson-databind-2.7.0.jar

    这些注解包括`@JsonAutoDetect`、`@JsonProperty`、`@JsonIgnore`、`@JsonInclude`等,它们允许开发者精细控制序列化和反序列化过程。例如,`@JsonProperty`用于指定哪些字段应该被包括在JSON表示中,而`@JsonIgnore...

    自定义JSONObject属性过滤注解

    在Java开发中,JSON对象(JSONObject)常用于数据交换,特别是在前后端交互中。当我们序列化或反序列化Java...通过结合使用自定义注解、序列化器和反序列化器,我们可以实现更为复杂的过滤策略,满足特定的业务需求。

    jackjson 2.2.3 jar 全部

    开发者可以使用这些注解来控制JSON字段如何映射到Java类的属性上,或者自定义序列化和反序列化过程。常见的注解有`@JsonProperty`、`@JsonIgnore`、`@JsonInclude`、`@JsonCreator`等。例如,`@JsonProperty`用于...

    关于struts2和hibernate的部分注解解释

    通过以上注解的使用,我们可以轻松地定义和管理实体类与数据库之间的映射关系,从而简化了数据访问层的开发工作。这些注解不仅提供了强大的功能,还大大提高了代码的可维护性和可扩展性。对于初学者而言,熟练掌握...

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

    例如,如果我们想要忽略某个属性不参与序列化,可以使用`@JsonIgnore`注解: ```java public class User { @JsonIgnore private String password; // other fields and methods } ``` 在源码层面,Jackson的...

Global site tag (gtag.js) - Google Analytics