java在json的时候忽略_如何在Java中进行JSON序列化时忽略字段?

如果 Java 对象中有不希望被序列化的字段,我们可以使用 Jackson 库中的@JsonIgnore 注解。可以在字段级别使用@JsonIgnore,用于在序列化和反序列化期间忽略字段。

语法public @interface JsonIgnore

示例import java.io.*;

import java.util.*;

import com.fasterxml.jackson.core.*;

import com.fasterxml.jackson.databind.*;

import com.fasterxml.jackson.annotation.*;

public class JsonIgnoreAnnotationTest {

public static void main(String args[]) throws JsonGenerationException, JsonMappingException, IOException {

Employee emp = new Employee();

emp.setFirstName("Raja");

emp.setLastName("Ramesh");

emp.setEmpId(120);

emp.getTechnologies().add("Java");

emp.getTechnologies().add("Scala");

emp.getTechnologies().add("Python");

ObjectMapper mapper = new ObjectMapper();

mapper.writerWithDefaultPrettyPrinter().writeValue(System.out, emp);

}

}

//员工阶层

@JsonInclude(JsonInclude.Include.NON_NULL)

@JsonPropertyOrder({

"firstName",

"lastName",

"technologies",

"empId"

})

class Employee {   @JsonProperty("EMPLOYEE_ID")

private int empId;

@JsonProperty("EMPLOYEE_FIRST_NAME")

private String firstName;

@JsonProperty("EMPLOYEE_LAST_NAME")

private String lastName;

@JsonIgnore    private List technologies = new ArrayList<>();

public int getEmpId() {

return empId;

}

public void setEmpId(int empId) {

this.empId = empId;

}

public String getFirstName() {

return firstName;

}

public void setFirstName(String firstName) {

this.firstName = firstName;

}

public String getLastName() {

return lastName;

}

public void setLastName(String lastName) {

this.lastName = lastName;

}

public List getTechnologies() {

return technologies;

}

public void setTechnologies(List technologies) {

this.technologies = technologies;

}

}

输出结果{

"EMPLOYEE_FIRST_NAME" : "Raja",

"EMPLOYEE_LAST_NAME" : "Ramesh",

"EMPLOYEE_ID" : 120

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值