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 –