输入结不雅:
- 张三
- 张三
2、获取成员变量和办法
在讲之前我们先来看如许一个小按理,JSON数据转JavaBaen对象,在不消解析库的情况下,一般我们会如许做
每当我们须要解析额时刻,都须要根据不合javabean来进行响应的解析,我们每次进行的操作都是一样的,只是解析的数据不合罢了,结合上篇帖子讲到的泛型,这里我们就可以再应用反射来本身做一个Json解析对象。
下面是我写的一个JsonObject对象转JavaBean的一个对象类,须要留意的是,JSON的key须要和字段名保持一致,先说下思路
①起首经由过程反射获取JavaBean中的所有字段值的名称
②拼接出set办法
③因为字段名和Json的key值雷同,应用主动名获取Json中的值并填充的实例对象中
- public class Json2BeanUtils {
- public static <T> T jsonToBean(JSONObject response, Class<T> clazz) {
- try {
- // 创建类的实例
- Object object = Class.forName(clazz.getName()).newInstance();
- // 获取类中的所有成员变量
- Field[] fields = object.getClass().getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- //设置权限
- fields[i].setAccessible(true);
- // 获取字段的名称
- String fieldName = fields[i].getName();
- // 过滤掉落UID
- if (fieldName.endsWith(
推荐阅读
Windows Server 2016软件定义存储:Storage Spaces Direct介绍
微软在Windows Server 2016 Technical Preview 2中惹人了Storage Spaces Direct。这个特点将本地存储扩大为高>>>详细阅读
本文标题:Java高级特性之反射学习总结
地址:http://www.17bianji.com/lsqh/35444.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示