下面的代码只是学习Java反射时练手的一小段代码
使用了递归,但只测试了一层嵌套的解析:Object套Object、Object套List、List套Object、List套List这四种情况
// 解析单个对象为JSONObject
private <T> void setJsonObjectInfo(JSONObject jsonObject, T fromObj) {
// 获取Class
Class tClass = fromObj.getClass();
// 获取所有的成员变量
Field[] fields = tClass.getDeclaredFields();
// 遍历成员变量
for (Field field : fields) {
try {
// 若:当前变量是不可访问的,则:获取访问权限
if (!field.isAccessible()) field.setAccessible(true);
// 获取属性名称
String key = field.getName();
// 获取属性描述器:通过属性名称
PropertyDescriptor pd = new PropertyDescriptor(key, tClass);
// 获取该属性的get方法:通过属性描述器
Method rm = pd.getReadMethod();
// 获取属性值:对fromObj对象调