Java反射实现JSON与JavaBean之间的转换

利用BeanUtils与Jackson进行JavaBean与JSON互转教程 Apache Commons BeanUtils是一个Java库,它提供了一套用于处理JavaBean属性的工具。在Java开发中,JavaBean是一种特殊的类,遵循特定的编码约定,使得其它代码能够读取其“属性”。这样的类通常用于数据交换和数据传递。Apache Commons BeanUtils库的核心功能是简化JavaBean属性的操作。它允许开发者无需编写大量的样板代码来设置或获取属性值,从而提高开发效率。 阅读详情

        项目中需要将Websocket服务器传来的JSON字符串解析并存入数据库,该JSON字符串是与系统中的实体一一对应的,如果要单独解析会十分麻烦,而且一大段代码很不美观,于是写了一个小工具方法,自动将JSON转换为对应的JavaBean。

下面上代码:


    /**
     * 将JSON转换为对应的JavaBean
     * @param jsonObject 需要转换的JSON对象
     * @param t 需要转换的JavaBean
     * @param <T> 泛型
     * @return 返回转换后的JavaBean
     * @throws IllegalAccessException 抛出IllegalAccessException异常
     */
    public static <T extends Object> T jsonToObject(JSONObject jsonObject,T t) throws IllegalAccessException {

        // 反射获取该JavaBean所有的属性
        Field[] fields = t.getClass().getDeclaredFields();

        // 遍历所有属性
        for (Field field:fields) {
            // 如果该属性对应了JSON中的某个值,则对JavaBean进行赋值
            if (jsonObject.get(field.getName()) != null) {
                // 将JavaBean属性的Accessible设为True,避免Private属性无法读取
                field.setAccessible(true);
                // 对相应属性进行赋值
                if (field.getType() == java.util.Date.class) {
                    field.set(t,new Date(Long.parseLong(jsonObject.get(field.getName()).toString())));
                } else if (field.getType() == java.lang.Byte.class) {
                    field.set(t,Byte.parseByte(jsonObject.get(field.getName()).toString()));
                } else {
                    field.set(t,jsonObject.get(field.getName()));
                }

            }
        }

        // 返回转换后的JavaBean
        return t;
    }




通过java反射实现map与bean之间互转 NULL 博文链接:https://xingguangsixian.iteye.com/blog/2041531 立即下载

相关推荐

Workbench中直接调用ICEM CFD进行网格划分

自从ANSYS 12.0之后,ICEM CFD就从Workbench中被分离出去,作为一个独立的程序使用了。取而代之的是Meshing模块。 在Meshing的属性节点菜单中右键点击Mesh,选择Insert > Method,插入方法。 选择需要划分网格的几何体,点击apply。此时Geometry显示为1 Body。 设置Method为MultiZone,如果不设置成这个的话,找不到进入ICEM CFD的入口。如果要划分四面体,可以在Mapped Mesh Type中选择其他类型。

Yan的博客 6512

java将Json 字符串转成Bean 对象

//把json转成JavaBean(user对象) public void test06() throws IOException { String jsonStr = "{\"id\":1,\"username\":\"zs\",\"password\":\"123456\",\"email\":\"zs@163.com\",\"phone\":\"1386789898\"}"; //1.调用JSON.parseObject(String json,Class clazz); /.

qq_20355031的博客 5990

linux和mac安装+配置circos(

一定要下载完这两个包,GD才会work,要不然会报错,且-modules显示也是fail。官网的教程说的很明白,但是很多包都已经过时了需要在网上找。一般来讲,所有包的安装都不会太困难,除了GD。1.是因为官网给的链接下出来的tgz无法解压。2.我的电脑安装后GD照样是fail的。,进入这个地址下一个.tgz。第二点的原因在于,官网的情况。,进入这个地址,按部就班。GD安装困难有以下几点。搞了一天终于配置成功。

xiufan1的博客 551

使用反射,实现简单的JSON与Bean之间的转换

使用反射的bean转Json, JSONObject json = new JSONObject(); Class objClass = object.getClass(); Field[] fields = objClass.getDeclaredFields(); String strAObjectName; String strValue = null; JSONObj

程序猿的玻璃心的专栏 743

多摄像头同步技术:帧同步信号在Sensor与解串器间的传递机制

本文深入探讨了多摄像头系统中帧同步信号的两种核心传递机制:由解串器统一发号施令或由主Sensor作为“带头大哥”。文章对比了两种方案在同步精度、硬件复杂度、成本及适用场景上的差异,并提供了实战配置要点与调试心法,为车载环视、ADAS及工业检测等应用提供关键的技术选型与实施指导。

weixin_29193359的博客 435

运算放大器 VS 仪表放大器

运算放大器(Operational Amplifier, 简称 Op Amp)和仪表放大器(Instrumentation Amplifier, 简称INA)在电子电路设计中都有非常广泛的应用,但两者在结构、特性以及应用场景上都有明显的区别。以下是它们之间主要的差异:运算放大器(Op Amp)仪表放大器(INA)运算放大器仪表放大器运算放大器仪表放大器运算放大器仪表放大器运算放大器仪表放大器总之,运算放大器是通用型放大元件,需要设计者自己做额外的电路配置;而仪表放大器则是针对高精度测量差分信号而生,内部匹配

chinahongjiang的博客 1346

JAVA利用反射映射JSON对象为JavaBean

关于将JSONObject转换为JavaBean,其实在JSONObject中有对于的toBean()方法来处理,还可以根据给定的JsonConfig来处理一些相应的要求,比如过滤指定的属性 [java] view plain copy print?//返回true表示过滤掉该属性jsonConfig.setJsonProperty...

WGH100817的博客 186

了解你的GPU:深入探讨AMD SMI

2024年9月17日 作者:Matt Elliott对于使用AMD硬件的系统管理员和高级用户来说,性能优化和高效的资源监控至关重要。AMD系统管理界面命令行工具`amd-smi`正是为了解决这些需求而设计的。amd-smi是一个多功能的命令行工具,专门用于管理和监控AMD硬件,主要侧重于GPU。作为未来取代`rocm-smi`的工具,`amd-smi`有望成为跨广泛设备的AMD硬件管理的主要工具。

数字人生 4522

json字符串和bean转换

在开发javaweb的时候经常会使用json的数据格式在前后台进行数据交互,刚接触json就写个博客记录自己对json数据转换的简单理解,废话不说,下面开始。StudentList的定义如下:public class StudentList { private List<Student> student; public List<Student> getStudent() {

fsky的博客 2672

单片机NTC热敏电阻测温:六种实用电路方案与选型指南

本文详细介绍了单片机系统中NTC热敏电阻测温的六种实用电路方案,包括分压法、恒流源法、RC充放电法、电桥法、频率法及集成专用IC方案,并提供了关键的硬件选型指南和软件处理技巧,帮助工程师实现高精度、低成本的温度测量。

herb5的博客 819

基于百度地图API在AI Studio上的卫星地图块图像处理与分类

本项目基于百度地图API获取了不同的瓦片地图并进行合并等处理,可用于遥感和抽象地图的地图块的图像分类、分割、检测等数据的制作。瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。首先确定地图服务平台所要提供的缩放级别的数量N,把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;

斌擎科技 746

JSON Java端JavaBean/Collection与JSON对象的转换

 JSON是AJAX编程中浏览器与WEB服务器之间一种轻型的基于文本的信息交换协议,其目的是作为XML信息格式的一种替代。它优于XML在于:   1. JSON在浏览器端是JAVASCRIPT对象的一种字面表达;   2.JSON是有类型的,而XML是无类型的。JSON提供了JAVASCRIPT和JAVA工具方法和类型。但JAVA端类型太底层,只提供JSONObject和JSO

朱志辉的专栏 3646

DCMM评估报告模板样例

这篇DCMM评估报告对某数据管理公司2020年的数据管理能力进行了全面分析。报告显示,该公司在数据战略方面取得初步进展,但在数据治理和数据架构方面仍存在明显不足,包括缺乏有效治理流程、数据质量监控不足,以及数据标准化和转换灵活性不足等问题。评估报告提出了针对性改进建议,包括完善数据战略、建立治理流程、加强质量监控和提升数据转换灵活性等,为提升数据管理成熟度提供了重要指导。

cdfunlove的博客 166

通过java内省,把json对象转为Object

package reflect; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List;

jger_520的专栏 770

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java bean转map

转自:http://blog.youkuaiyun.com/q358543781/article/details/50176953javabean与map的转换有很多种方式,比如:1、通过ObjectMapper先将bean转换为json,再将json转换为map,但是这种方法比较绕,且效率很低,经测试,循环转换10000个bean,就需要12秒!!!不推荐使用2、通过java反射,获取bean类的属性和值,

yueguanyun的专栏 3410

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

利用BeanMap进行对象与Map的相互转换

javabean与map的转换有很多种方式,比如: 1、通过ObjectMapper先将bean转换为json,再将json转换为map,但是这种方法比较绕,且效率很低,经测试,循环转换10000个bean,就需要12秒!!!不推荐使用 2、通过java反射,获取bean类的属性和值,再转换到map对应的键值对中,这种方法次之,但稍微有点麻烦 3、通过...

weixin_33831196的博客 113

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Gson在java对象和json字符串之间转换

Gson在java对象和json字符串之间转换 转载:https://blog.youkuaiyun.com/JQ_AK47/article/details/52685298 Gson相比org.json最大的好处是从json字符串转向java实例时候少了依据每个实例自己赋值的过程,比如在org.json的时候,我们先从json字符串构建一个jsonobject,然后用各种的...

stay hungry ! stay foolish! 2307

java 反射 json_java 反射实现javabean转json

基于java反射机制实现javabean转json字符串。1.[文件] ObjectToJson.java~2KB 下载(64)package com.ObjectToJson;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflec...

weixin_30489285的博客 203

【JavaBean拷贝、Json转换】

本文分为两部分:第一部分详细比较BeanUtils、MapperStruct、Orika和ModelMapper四种Java对象映射工具的区别,并通过代码示例说明;第二部分阐述JavaBean与JSON之间的转换方法,并提供实际应用案例。文章基于Java标准库和常见开源工具,确保内容真实可靠。在Java开发中,对象映射(Object Mapping)常用于在不同对象间复制属性值,例如从实体类(如)映射到数据传输对象(如)。这能简化代码,避免手动setter/getter。以下是四种流行工具的核心区别:Bea

qq_52959191的博客 518

通过JSONArray让json和javabean互相转换

package com.cjonline.foundation.util; import java.lang.reflect.Array;import java.util.Date; import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import net.s...

anwenzhao0749的博客 1680

json 反射java 实体_java反射实现javabean转json

BeantoModel->利用cglibBeanMap.create(src);直接将Bean装成Map,然后model._setAttrs(map)即可。ModeltoBean麻烦一点,最简单的方法是用json了。这个bean.dao.put应该是不对的,应该是bean.put吧,还有也不需要转换成map吧,model自带getAttrs方法获取map我想讲一个其它的bean而不是继承mo...

weixin_39845613的博客 148

java bean 反射 map_通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类

import java.lang.reflect.Method;import java.text.ParseException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import org.json.JSONObject;/***转换器*1:将JavaBean 转换成Map、JSONObject...

weixin_31699893的博客 176

Javabean转换成json字符串的工具类

 最近在学Java的反射这部分的知识,想到可以利用反射原理将javabean转换成json格式,于是动手写了下,完整的代码如下: package com.kl.json; import java.util.List; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Bean2Js

Napchencw的博客 1185
上一篇: iOS10 访问相册,相机或者联系人 Crash 的解决方法
PigVillage_Terry
博客等级 码龄10年 13粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值