我有一项任务,需要从通过JSON Web服务接收的数据中填充对象属性。属性名称映射到JSON键。我正在使用以下代码尝试填充对象,但应用程序在遇到此行时崩溃:
while(looper.hasNext()){
String key = looper.next();
String val = json.get(key).toString();
user.getClass().getDeclaredField(key).set(user, val); // crash
}
该对象称为用户。我已经验证了密钥变量与用户对象中的属性匹配。有想法该怎么解决这个吗?谢谢!
答案 0 :(得分:2)
你应该设置你的字段
Field field = user.getClass().getDeclaredField(key);
if (field != null) {
field.setAccessible(true);
field.set(user, val);
}