[英]Issue when dynamically setting properties using reflection
我有一个任务,需要从通过JSON Web服务接收的数据填充对象属性。 属性名称映射到JSON键。 我正在使用以下代码尝试填充对象,但应用程序在遇到此行时崩溃:
while(looper.hasNext()){
String key = looper.next();
String val = json.get(key).toString();
user.getClass().getDeclaredField(key).set(user, val); // crash
}
该对象称为用户。 我已经验证了密钥变量与用户对象中的属性匹配。 有想法该怎么解决这个吗? 谢谢!
你应该设置你的字段可访问
Field field = user.getClass().getDeclaredField(key);
if (field != null) {
field.setAccessible(true);
field.set(user, val);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.