利用Java反射实现普通对象到JSONObject的转换
2014-03-02 23:38
856 查看
1、json-lib是一个java类库,提供将Java对象,包括beans, maps, collections, java arrays and XML等转换成JSON,或者反向转换的功能。
2、json-lib 主页:http://json-lib.sourceforge.net/
3、需要以下类库支持
•commons-lang 2.5
•commons-beanutils 1.8.0
•commons-collections 3.2.1
•commons-logging 1.1.1
•ezmorph 1.0.6
4、对于Connection和Map网上已有很多介绍,下面着重说明普通对象转化成JSONObject。
JSONObject提供了一个一个静态方法fromObject,返回一个JSONObject对象。但是如果输入一个普通对象,这个方法是无法进行转换的(无法将对象属性转换成JSON数据),但是这个往往是最常用的。例如一般的url请求然后返回Json数据串。
下面直接给出利用反射来转换普通对象的代码:
弄了半天发现fromObject是可以直接转的,但是需要set....get....,这真是。
不得不吐槽一下库设计者,以前转换失败时也悄悄地不告诉我,异常更是没有。
2、json-lib 主页:http://json-lib.sourceforge.net/
3、需要以下类库支持
•commons-lang 2.5
•commons-beanutils 1.8.0
•commons-collections 3.2.1
•commons-logging 1.1.1
•ezmorph 1.0.6
4、对于Connection和Map网上已有很多介绍,下面着重说明普通对象转化成JSONObject。
JSONObject提供了一个一个静态方法fromObject,返回一个JSONObject对象。但是如果输入一个普通对象,这个方法是无法进行转换的(无法将对象属性转换成JSON数据),但是这个往往是最常用的。例如一般的url请求然后返回Json数据串。
下面直接给出利用反射来转换普通对象的代码:
public static JSONObject getJSONObjectFromObject(Object obj) throws IllegalArgumentException, IllegalAccessException { JSONObject jsonObject; try { jsonObject = JSONObject.fromObject(obj);//检测是否可以直接转换 return jsonObject; } catch (JSONException e) { jsonObject = new JSONObject(); } Field[] fields = obj.getClass().getDeclaredFields();//获取类的声明属性 for (Field field : fields) { jsonObject.put(field.getName(), getJSONObjectFromObject(field.get(obj)));//递归调用转换 } return jsonObject; }
弄了半天发现fromObject是可以直接转的,但是需要set....get....,这真是。
不得不吐槽一下库设计者,以前转换失败时也悄悄地不告诉我,异常更是没有。
相关文章推荐
- 学习笔记 JAVA 将 object 转换成为 json 串 利用反射实现
- Java利用反射实现对象转json
- Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象[修订081217]
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- 利用java的反射来实现java的类对象转化为json对象
- 利用泛型和反射对Java对象集合转换成Json的工具类
- Java中将实现string到JSONObject的转换
- object对象java 利用反射 从数据库取出数据对象list 类似hibernate
- 对象转换为Map集合,使用JSONObject实现
- Android中通过annotation实现java对象和json的转换
- Java反射实现JSON与JavaBean之间的转换
- JAVA中利用反射机制进行对象和Map相互转换的方法
- android中普通的java对象转换成 json格式的字符串
- org.json源码分析及增强(一)——JSONObject对象与Java对象相互转换
- 利用Java反射实现JavaBean对象相同属性复制并初始化目标对象为空的属性的BeanUtils
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- java对象和json数据转换实现方式1-使用json-lib实现
- java对象和json数据转换实现方式3-使用jackson实现