java 对象转json忽略某个属性
1、FastJson轉(zhuǎn)Json字符串時,忽略指定屬性
1.1使用注解@JSONField
以下Bean
package com.gomefinance.esign;
?
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;
?
import java.io.Serializable;
?
/**
?* 本地簽署信息
?* Created by JHAO on 2017/5/31.
?*/
@Setter
@Getter
public class FastJsonInputBean implements Serializable {
?
? ? // 合同模板ID
?
? ? private String contractTemplateId;
? ? // 合同號
? ? private String contractId;
? ? // Base64編碼的合同
? ? @JSONField(serialize = false)
? ? private String contractImage;
? ? private String contractVersion;
?
}
?FastJsonInputBean inputBean = new FastJsonInputBean();
?inputBean.setContractImage("contractImage");
?inputBean.setContractTemplateId("templateId");
?inputBean.setContractId("comtractId");
?inputBean.setContractVersion("contractVersion");
?
?System.out.println("JSONField(serialize = false)忽略contractImage屬性:"+JSON.toJSONString(inputBean));
?打印結(jié)果:{"contractId":"comtractId","contractTemplateId":"templateId","contractVersion":"contractVersion"}
1.2Filter指定序列化的字段
?SimplePropertyPreFilter filter = new SimplePropertyPreFilter(FastJsonInputBean.class, "contractTemplateId");
?System.out.println("filter忽略contractTemplateId屬性:"+JSONObject.toJSONString(inputBean, filter));?
?打印結(jié)果:{"contractTemplateId":"templateId"}
2、JackSon忽略字段
@JsonIgnoreProperties主鍵或者在字段上使用@JsonIgnore
package com.gomefinance.esign;
?
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;
?
import java.io.Serializable;
?
/**
?* 本地簽署信息
?* Created by JHAO on 2017/5/31.
?*/
@Setter
@Getter
@JsonIgnoreProperties({"contractTemplateId", "contractImage"})
public class JackSonInputBean implements Serializable {
?
? ? // 合同模板ID
?
? ? private String contractTemplateId;
? ? // 合同號
? ? @JsonIgnore
? ? private String contractId;
? ? // Base64編碼的合同
? ? private String contractImage;
? ? private String contractVersion;
?
}
?JackSonInputBean jackSonInputBean = new JackSonInputBean();
?jackSonInputBean.setContractImage("contractImage");
?jackSonInputBean.setContractTemplateId("templateId");
?jackSonInputBean.setContractId("comtractId");
?jackSonInputBean.setContractVersion("contractVersion");
?
?ObjectMapper objectMapper = new ObjectMapper();
?System.out.println("JackSon JsonIgnore忽略contractId屬性:"+objectMapper.writeValueAsString(jackSonInputBean));
打印結(jié)果:{"contractVersion":"contractVersion"}
原文:https://blog.csdn.net/a491857321/article/details/78761857?
?
總結(jié)
以上是生活随笔為你收集整理的java 对象转json忽略某个属性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL学习之SELECT子句顺序
- 下一篇: CSS导入使用及引用的两种方法