Я использую отражение для задания свойств объекта значения во время выполнения. Если бы все было строкой, я не могу задавать этот вопрос, но это не так. У меня есть веб-сервис, который возвращает json, и я хочу использовать json, возвращаемый службой для заполнения объекта. У меня есть ArrayList строк, называемых alphabeticalKeys, который содержит отсортированные ключи в строке 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 –