生成一个方法利用Java反射机制将Json字符串转为java对象
时间: 2024-05-12 09:17:53 浏览: 111
可以使用以下代码实现:
```
public static <T> T fromJson(String json, Class<T> clazz) throws Exception {
// 获取类的构造函数
Constructor constructor = clazz.getConstructor();
// 创建类的对象
T obj = (T)constructor.newInstance();
// 将json字符串转成JSONObject
JSONObject jsonObject = new JSONObject(json);
// 获取类的所有字段
Field[] fields = clazz.getDeclaredFields();
// 遍历类的所有字段
for (Field field : fields) {
// 获取字段名字
String fieldName = field.getName();
// 如果json中包含这个字段
if (jsonObject.has(fieldName)) {
// 获取字段对应的值
Object fieldValue = jsonObject.get(fieldName);
// 将值赋给类的字段
field.setAccessible(true);
field.set(obj, fieldValue);
}
}
return obj;
}
```
阅读全文