Я пытаюсь выяснить способ назначения выберите свойства «участников» объектов в конкретные классы:Назначение плоского объекта JSON на несколько классов
Это формат, что я работаю с
"participants": [
{
"person_id": "18044029",
"role_id": "35351535",
"person_name": "Lella Vignelli",
"person_date": "Italian, b. 1934",
"role_name": "Donor",
"role_display_name": "Donated by"
},
{
"person_id": "18042329",
"role_id": "35351535",
"person_name": "Massimo Vignelli",
"person_date": "Italian, active USA, 1931\u20132014",
"role_name": "Donor",
"role_display_name": "Donated by"
}
]
Вот мои классы»
@JsonIgnoreProperties(ignoreUnknown = true)
public class ChObject {
@JsonProperty("participants")
private List<Participation> participants;
//Setters and getters
}
Вот класс Участие:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Participation {
private Role role;
private Participant participant;
//Setters and getters
}
Роль класса:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Role {
@JsonProperty("role_id")
private int role_id;
@JsonProperty("role_name")
private String role_name;
//Setters and getters
}
Участник класс:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Participant {
private int person_id;
@JsonProperty("person_name")
private String person_name;
@JsonProperty("person_date")
private String person_date;
//Setters and getters
}
Проблема Я бегу в том, что я не могу понять, как получить «PERSON_NAME» и «person_date» свойства в класс участника или свойства role_id и role_name в класс Role из класса участия.
Класс участия имеет доступ ко всем этим свойствам, но я не могу присвоить их свойствам классов участников и ролей.
Благодарим за помощь. Извините, если я не на 100% понятен всем.
Ваша строка JSON не противоречит вашей структуре классов. В таком случае вам нужно написать собственный 'JSONDeserializer'. Вот вам [старт] (http://www.baeldung.com/jackson-deserialization). – JavaGhost