1
我正在使用反射来设置运行时的值对象属性。如果一切都是弦乐,我可能不会问这个问题,但事实并非如此。我有一个返回json的Web服务,我想使用服务返回的json来填充对象。我有一个名为alphabeticalKeys的字符串ArrayList,它包含json字符串中的已排序键。这里是我使用动态填充对象(用户)的代码:使用反射来设置类型未知的属性值
for(String fieldName : alphabeticalKeys){
Log.d("JSON:" + fieldName, json.getString(fieldName));
Field f = userClass.getDeclaredField(fieldName);
f.setAccessible(true);
f.set(user, jsonObject.get(fieldName));
}
在JSON数据集,有字符串,双打和更多。这是工厂类的一部分,在编译时返回的对象类型是未知的。此外,json字段的数据类型可能因所需对象的类型而异。
json输出匹配返回对象中的字段名称,所以我正在寻找一种方法来处理json输出中返回的不同数据类型。有人可以提出一个建议吗?
Thx! Vivian
http://docs.oracle.com/javase/tutorial/reflect/member/fieldTypes.html –