Я десериализую объект json, который содержит вложенный объект json.Jackson - Сохранить вложенный json объект как JSONObject
{
"id:" 1,
"name:" "test",
"settings": {
"color": "#ff0000"
}
}
Вот мой класс автомобиля:
public class Car {
private long id;
private String name;
private JSONObject settings;
// id getter/setter...
// name gett/setter...
public void setSettings(JSONObject settings) {
this.settings = settings;
}
public JSONObject getSettings() {
return settings;
}
}
Я хотел бы сохранить настройки как JSONObject и разобрать его позже, как мне это нужно. Я также хочу избежать создания класса настроек (из-за того, как я кэширую свои модели с помощью Sugar ORM). Когда я пытаюсь десериализировать это с помощью Jackson, настройки всегда возвращают «{}». Как я могу это сделать с Джексоном?
UPDATE:
Вот код, который разбирает Автомобиль:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Car car = objectMapper.readValue(jsonObject.toString(), Car.class);
Автомобиль может быть вложенным объектом внутри что-то еще, так что это не всегда будет вызываться. Если бы я всегда мог это назвать, у меня уже был бы доступ к объекту json и он мог бы просто установить объект Settings в Car вручную здесь.
содержит некоторый код о том, как вы разбираете эти значения? – andrew