繁体   English   中英

使用反射动态设置属性时出现问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM