将实体类转换为json时过滤类中指定的属性

Java 中 JSON 去除指定字段(对象中,数组中,List中) 阅读详情

一般将对象序列化使用fastjson和Gson两种类

fastjson类的使用

使用fastjson主要有下面三种方法:

1. 实体类或集合转JSON串

String jsonString = JSONObject.toJSONString(实体类);
2.JSON串转JSONObject

JSONObject jsonObject = JSONObject.parseObject(jsonString);

3.JSON串转实体类

实体类 javaBean = JSON.parseObject(json, 实体类.class);
如果需要过滤实体类中的某个属性则可以使用下面几种方法:
一、使用transient关键字
把需要过滤掉属性使用transient关键字修饰,这样在调用JSON的toString方法时,被transient修饰的属性不会出现在最终的json字符串中,举例如下

private transient String id;
二、使用注解
还是以id属性为例,使用注解@JSONField(serialize=false),示例如下:

@JSONField(serialize=false)
private String id;

Gson的使用

首先使用

import com.advantech.mdm.dbmger.entity.User;

private final Gson gson;
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeHierarchyAdapter(User.class//需要序列化的实体类, new UserSerializer());
gson = gsonBuilder.create();
使用toJson方法实现实体类转json:
gson.toJson(deviceGroup);

创建ClientSerializer类:

package org.eclipse.leshan.standalone.servlet.json;

import com.advantech.mdm.dbmger.entity.User;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

import java.lang.reflect.Type;

public class UserSerializer implements JsonSerializer<User> {
    @Override
    public JsonElement serialize(User src, Type typeOfSrc, JsonSerializationContext context) {
        JsonObject element = new JsonObject();

        element.addProperty("name", src.getName());
        element.addProperty("apprepoaddress", src.getAppRepoAddress());
        element.addProperty("appdownloadaddress", src.getAppDownloadAddress());
        element.addProperty("vncip", src.getVncIp());
        element.addProperty("vncport", src.getVncPort());
        element.addProperty("bsprepoaddress", src.getBspRepoAddress());
        return element;
    }
}

在这个类里面就可以指定需要序列化的属性。

 

【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践 (应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。 阅读详情

相关推荐

Penpot自托管全攻略:5分钟搞定私有化部署(附Docker配置详解)

本文详细介绍了Penpot开源原型设计工具的私有化部署全流程,从Docker基础配置到企业级优化方案。通过分步指南和实战技巧,帮助设计团队快速搭建安全高效的自托管环境,实现数据自主可控。内容涵盖LDAP集成、性能监控、备份策略等关键企业需求,是Penpot私有化部署的完整参考手册。

sugar的博客 1134

实体类数据在返回前端或者转JSON时常碰到的情况

实现效果如图:实现效果如图:实现效果如图: 参考博文:实体类转JSON字段为null时不显示key?_EvenBoy的博客-优快云博客_java实体转json空的不显示https://blog.csdn.net/weixin_42169734/article/details/118028769?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault

Aku_2020的博客 2130

Gamit10.71添加新的天线类型

添加新的天线类型需要涉及到四个文件:antmod.dat,rcvant.dat,guess_rcvant.dat,hi.dat。 注意:格式要一致!!! 举例说明,我要添加一个JCA229的天线(带JCAD天线罩),对应接收机使用的是南方的South Net-S9。

Penny的博客 2712

java返回前端实体类json数据时如何忽略某个属性

Java 字段 忽略

zlfjavahome的专栏 4318

macOS 27下PlayCover“没有权限打开”的完整修复指南

macOS系统通过Gatekeeper、TCC(透明、同意与控制)和安全启动等机制,对第三方应用进行层层校验,以防范恶意代码。这些机制会检查应用的隔离属性、签名状态以及所需系统权限,当任一环节不满足时,就会出现“没有权限打开”的提示。对于开发者工具或未上架App Store的开源软件,这类拦截尤为常见。尤其在macOS 27上,系统进一步收紧了绕过策略,导致PlayCover等工具无法正常启动。本文以PlayCover为例,详细解析权限链路上的三道关卡,并给出清除隔离属性、调整SIP状态、重置TCC记录等完

weixin_32612263的博客 749

CloudCompare 二次开发(6)——插件中拖拽添加Qt窗口(区域生长算法为例)

手动拖拽的方式搭建Qt对话框界面的制作流程,以PCL中的点云区域生长算法为例进行制作。

点云侠的博客 2153

(3)-JSONObject的过滤设置

我们通常对一个json串和java对象进行互转时,经常会有选择性的过滤掉一些属性值。例如下面的类:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 3...

weixin_34314962的博客 243

Holosoma 开源人形机器人强化学习训练部署框架

Holosoma是一个综合性人形机器人框架,支持强化学习策略的训练、部署和动作重定位。该框架兼容多种模拟器(IsaacGym、IsaacSim、MuJoCo等)和机器人(Unitree G1、Booster T1),提供运动控制和全身追踪功能。主要特性包括:跨模拟器训练评估、Wandb集成、多GPU支持、自定义奖励权重和观测噪声配置。推理模块支持实体机器人部署和MuJoCo仿真测试。动作重定位工具可将人体动作数据转换为机器人动作,支持单序列和批量处理。文档详细介绍了训练配置、评估方法和高级功能,如课程学习和

2506_90492529的博客 1829

JSONObject.parseObject()和JSON.toJSONString()及JSON.parseObject(String text, Class clazz)方法的功能

功能上是一样的,都是将JSON字符串(str)转换成JSON对象 jsonobject。注意str一定得是以键值对存在的JSON字符串。JSON.parseObject(String text, Class clazz),作用就是。,会去填充名称相同的属性,对于JSON字符串中没有,而Test类有的属性,会为null;,对于JSON字符串有,但是Test类没有的,不做任何处理。可以看到addr=’‘null’’,说明,然后在jsonTest测试类中进行测试。

qq_42514371的博客 5841

3、基于视觉的智能分拣机:原理、算法与应用

本文介绍了一种基于视觉的智能分拣系统,利用树莓派、相机模块和多种检测算法实现低成本、高精度的物体分拣。系统支持颜色、形状和尺寸三种检测方式,准确率达99%,广泛适用于制造业、农业和物流等领域。文章详细阐述了各检测算法原理、测试结果及系统优化方向,并探讨了其实际应用案例与未来发展前景。

mqtt6iot的博客 237

IPOP 使用详解 (附IPOP工具包)

IP 地址动态绑定功能;路由信息查询和配置功能;MAC 地址信息查询和修改功能;MAC 、主机信息扫描功能;本机网络报文统计功能;本机端口列表、远程端口扫描功能;端口映射功能;网卡流量统计功能;本机 IP 报文捕获和发送功能;终端控制功能(支持 telnet 、 dos、 ssh、 sftp 、ftp、com 等协议);TCL 脚本支持;多种服务功能( tcp/udp/ping/telnet/ftp/tftp/web/team/syslog/smtp );

悦分享 1万+

java json过滤_JSON对象过滤不需要的属性

在WEB项目的接口编程中,通常要去掉不需要的属性字段,以降低流量。总结了一下网上的常用的办法,这里是自定义一个JSON对象过滤类,请看代码:其中所需的jar包: package test;import java.lang.reflect.Field;import java.util.Collection;import java.util.Set;import net.sf.json.JSONO...

weixin_30070961的博客 1338

Vue3 - 详细实现调用浏览器摄像头拍照并生成图片预览,支持将抓拍的图像保存到用户本地或上传到服务器、调取前置摄像头和后置摄像头,开启摄像头并进行拍照,vue实现调用摄像头,电脑或手机调用摄像头拍照

vue3,nuxt3,摄像头,vue3网站打开摄像头拍照,vue3项目调用摄像头实现拍照功能,拍照后怎么保存,照相后上传到后端服务器,开启摄像头黑屏,如何默认后置摄像头,网页开启电脑摄像头并照相,前置拍照,vue3如何调用手机摄像头进行拍摄,拒绝权限后不再弹出了,微信公众号网页,摄像头报错,拍照左右镜像反了,浏览器不兼容怎么办,vue3调用电脑端摄像头实时拍照,解决调用摄像头权限无法弹出,打不开摄像头,Vue3如何调用手机的摄像头,调用本地摄像头实现拍照,浏览器不弹摄像头权限了,如何不使用https运行测试

🏆 前端领域优质创作者 8654

JSONObject.toJSONString()包含或排除指定的属性

1 背景 在Java开发中,通常需要将一个实体对象转换成Json字符串,使用FastJson来实现这种转换十分方便,只要使用FastJson中JSONObject静态类提供的toJSONString()静态方法即可。但是在转换时,我们可能需要指定使用实体对象的某些属性来进行转换,或者指定转换时要排除实体对象的某些属性。 FastJson提供的SerializeFilter类就可以实现这种需求,可以...

Java大数据联盟 3万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

选择性将对象的属性转换为Json

上一篇写的Json转换项目中大部分情况都已经够用了,但是,有时候一个对象很多属性,而我们并不需要那么多,那么就选择性的过滤掉一些属性喽。 还有对于日期这样的属性,我们该让它以何种格式显示呢? 这也是我们需要考虑的问题。 下面请看实例: 实体类Student.java    public class Student { @Include("tt") private Strin...

javawar8的博客 1094

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

json过滤某些属性 之@jsonignore

使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范。命名不规范时会失去效果。(例如Ename ,Eage 为不规范命名。“nameE”,“ageE”为规范命名)至于命名规范,大家自己搜索。其实不要太奇葩的命名都是可以得。如果使用@JsonIgnore注解不起效时请注意一下你的属性名字是否规范。

m0_55955242的博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

json转换实体类

import net.sf.json.JSONArray; import net.sf.json.JSONObject 实体类转换成json JSONObject jsonStu = JSONObject.fromObject(实体类); json转换成实体类Person Person person= (Person) JSONObject.toBean(jsonObj,Person.class...

Aizen_Sousuke的博客 1169

jsonobject 转换对象时过滤属性

JsonConfig cfg = new JsonConfig(); cfg.setPropertySetStrategy(new PropertySetStrategy() { @Override public void setProperty(Object bean, String key, Object value) throws JSONExcept

无尽晴天 1832

将实体类Bean转换为json对象的时候过滤null空值

在使用mongodb的时候经常会遇到需要把实体类转换成json对象去的情况,但是转换成的json对象中,除了已经向bean里添加过的属性,其余未赋值的属性却在json中依然显示为空!这就造成了在使用mongodb的修改的时候,会用null值覆盖原来的值。        之前在网上看到过使用filter过滤属性的博客http://blog.csdn.net/u013239111/article/d

高冷宅 1万+

java bean对象转换json对象时过滤空值

由于从数据库获取到的总是有空值或者”“的情况,而且从数据库获取到数据封装到java中,再转换成json数据格式,这种事情已经司空见惯了。 但是在某些特定的场合下json数据中空值或者”“的会影响项目的运行,查错的情况下也不直观。例如下面这种情况下 上图只是json的一小部分,后面还有很多没有截出来。写过微信公众号的应该知道这是自定义菜单的json数据格式,但是其中有些属性是多余的。所以空值和

博客 2万+

过滤不需要转换JSON的属性

String productDetailStr = JsonUtil.toObjectIgnore(productDetail).toString(); package com.util; import java.util.Arrays; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.PropertyFi...

yuhui666666的博客 483

【御控工业物联网】Java JSON结构转换、JSON协议转换、JSON属性互换(9):数组To数组——规则属性重组

JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换,生成新的JSON对象或数组的过程。这种转换可以包括改变JSON数据的结构、提取特定字段、合并多个JSON数据,或者对数据进行计算和处理等操作。通过结构转换,可以根据需求定制化地处理JSON数据,使其符合特定的业务逻辑或数据格式要求。为了让使用者更加方便的配置出映射关系,为此开发了一套在线转换工具,可在工具中通过拖拽即可配置想要的结构转换关系,并可对转换关系所能实现的效果实时进行预览更改。

御控物联_姜的博客 1419

Java-json相关转换,JSONObject与实体类/map互转、List/List<map>和JSONArray互转、获取JSONObject中的key value、字符串String转换等

Java开发中的json相关转换,JSONObject与实体类/map互转、List/List和JSONArray互转、获取JSONObject中的key value、字符串String转换等

君琴 的博客 1万+

Java 实体类bean转换Json字符串过滤null值

开发过程中往往需要需要实体类对象转换为Json字符串,要是直接作为值入库会发现未复制的属性显示为null。这边需要过滤掉未复制的属性值,只显示有值的属性。 下面实体类引入的包和注解,只需要一行注解就行了。 import com.fasterxml.jackson.annotation.JsonInclude; @JsonInclude(JsonInclude.Include.NON_NULL)...

优道子的博客 2204

使用JSON.toJSONString格式化成json字符串时保留null属性

/ 解决中文乱码问题,相当于在Controller上的@RequestMapping中加了个属性produces = "application/json"// 将Boolean类型的null转成false。// 将String类型的null转成""// 将Boolean类型的null转成false。// 将Number类型的null转成0。// 将List类型的null转成[]// 将String类型的null转成""// 将Number类型的null转成0。// 将List类型的null转成[]

for__future_的博客 4757

将对象转为json字符串时排除某些不需要的属性

将对象转为json字符串时排除某些不需要的属性 一、使用JSONObject.toJSONString()方法 种一棵树最好的时间是10年前,其次就是现在,加油!                             &nbs

蜡笔小柯南的博客 7029
上一篇: Map集合的四种遍历方式
下一篇: javascript中null和undefined的区别
潜行的Q
博客等级 码龄10年 72粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值