java json 多余属性_java 对象转json忽略某个属性

java json 多余属性_java 对象转json忽略某个属性1 FastJson 转 Json 字符串时 忽略指定属性 1 1 使用注解 JSONField 以下 Beanpackagec gomefinance esign importcom alibaba fastjson annotation JSONField importlombok Getter importlombok Setter importjava io Serializable

1、FastJson转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));

打印结果:{“contractId”:”comtractId”,”contractTemplateId”:”templateId”,”contractVersion”:”contractVersion”}

1.2Filter指定序列化的字段

SimplePropertyPreFilter filter = new SimplePropertyPreFilter(FastJsonInputBean.class, “contractTemplateId”);

System.out.println(“filter忽略contractTemplateId属性:”+JSONObject.toJSONString(inputBean, filter));

打印结果:{“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));

打印结果:{“contractVersion”:”contractVersion”}

原文:https://blog.csdn.net/a/article/details/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230702.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月7日 下午4:01
下一篇 2026年2月7日 下午4:22


相关推荐

  • ubuntu设置

    ubuntu设置

    2021年4月26日
    156
  • iFlytek讯飞智能录音设备SR302星火版用户手册.pdf

    iFlytek讯飞智能录音设备SR302星火版用户手册.pdf

    2026年3月14日
    2
  • PyCharm 添加本地解释器

    PyCharm 添加本地解释器若安装 PyCharm 后提示无解释器 则先安装 python 然后文件 gt 设置 gt python 解释器右侧选则添加在系统解释器里添加

    2025年10月18日
    3
  • gridview控件功能

    gridview控件功能nbsp nbsp GridView 控件的功能如下 绑定到任何平面结构或多层次结构 仅绑定第一层 的数据控件内置排序功能选择数据纪录编辑和删除数据纪录支持多个关键字段支持多个字段来创建超链接根据主题 Theme 和风格 Style 进行可视化的调整根据不同的 移动 设备来调整显示结果指定背景图片 nbsp

    2026年3月16日
    6
  • 对象的扩展运算符

    对象的扩展运算符之前我写过一篇笔记就是说扩展运算符的 可是那个笔记说的并不全面 以前我一直片面的认为 扩展操作符只能作用于数组而不能作用于对象 而且只能在函数调用的时候使用 可实际上扩展操作符是可以作用于对象的 文章目录解构赋值扩展运算符解构赋值应该来说 扩展运算符用在解构赋值中更像是 rest 参数 同样是把目标对象还未读取的字段 分配到指定的对象 例如 let a b c a 12

    2026年3月17日
    2
  • webpack最新版本是多少_webpack不是内部或外部命令

    webpack最新版本是多少_webpack不是内部或外部命令如何查看当前项目webpack版本在项目package.json中的scripts脚本命令中写入以下内容”webpack”:”webpack–version”然后打开终端在项目根路径下运行:npmrunwebpack…

    2022年8月10日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号