Java反射实现JSON与JavaBean之间的转换
来源:互联网 发布:践行五大发展理念 知乎 编辑:程序博客网 时间:2024/05/18 01:51
项目中需要将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; }
1 0
- Java反射实现JSON与JavaBean之间的转换
- 关于json与javaBean之间的转换
- 使用 XStream实现JavaBean 与 XML/JSON 之间相互转换
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- 实现JavaBean和json之间的相互转换
- Json与javaBean之间的转换工具类
- javaBean与xml、json之间的相互转换
- json与javabean之间的转换工具类
- Json与javaBean之间的转换工具类
- Json与javaBean之间的转换工具类
- Json与javaBean之间的转换工具类
- Json与javaBean之间的转换工具类
- Android Gson:javabean与json字符串之间的转换
- Json与javaBean之间的转换工具类
- java中xml json javabean之间的转换
- JSON Java端JavaBean/Collection与JSON对象的转换
- JavaBean与JSON的转换
- Json与JavaBean的转换
- 错误调试篇
- 企業為何需要產品級敏捷?
- 02-AngularJs-路由router
- Hbase数据结构和体系架构
- SPOJ VECTAR1 数学
- Java反射实现JSON与JavaBean之间的转换
- [机器学习篇]机器学习知识总结篇
- 正视代码Review,养成良好的编程习惯
- Java 集合系列之 Iterator和Enumeration比较
- 看看Spring的源码(二)——bean实例化
- 搭建一个spring-boot项目 3
- 基于R-CNN的物体检测
- pat-a1074. Reversing Linked List (25)
- 学习git的很好的个人博客