0

我有一项任务需要从通过 JSON Web 服务接收的数据中填充对象属性。属性名称映射到 JSON 键。我正在使用以下代码尝试填充对象,但应用程序在遇到此行时崩溃:

        while(looper.hasNext()){
            String key = looper.next();
            String val = json.get(key).toString();
            user.getClass().getDeclaredField(key).set(user, val); // crash
        }

该对象称为用户。我已经验证了 key 变量确实与用户对象中的属性匹配。有想法该怎么解决这个吗?谢谢!

4

1 回答 1

2

you should set your field accessible

Field field = user.getClass().getDeclaredField(key);
if (field != null) {
 field.setAccessible(true);
 field.set(user, val);
}
于 2013-05-13T20:49:19.330 回答