Хорошо, у меня есть файл JSON, и в нем есть набор объектов, которые я хочу разбить на массив объектов.
Пример размещения файла JSON:
{
"data":{
"name":{
"fName":"John",
"lName":"Doe"
},
"name":{
"fName":"James",
"lName":"Dokes"
}
}
}
Полный файл JSON намного сложнее, чем этот, это всего лишь пример его структуры.
Я хочу взять эти имена и разобрать их в массивобъектов имен, чтобы я мог получить доступ к каждому объекту имен в любое время.
Классы настроены как
Тестовый класс
private Data data;
public void setData(Data d) {
data = d;
}
public Data getData() {
return data;
}
public String toString() {
return "" + data;
}
Класс данных
private Name name;
public void setName(Name n){
name = n;
}
public Name getName(){
return name;
}
public String toString(){
return "Names " + name;
}
Тогда класс Name просто
public class Name {
private String fName;
private String lName;
//Getter setters here
public String toString(){
return "\nFirstName: " + fName + "\nLastName: " + lName;
}
Тогда в основном классе я просто делаю
ObjectMapper mapper = new ObjectMapper();
Test test = mapper.readValue(new File("C:\\JSON\\test.json"),
Test.class);
System.out.println(test);
Теперь это выведет
Names
FirstName: James
LastName: Dokes
Но он игнорирует имя объекта, то есть Джон Доу.Я хочу взять каждый из этих именованных объектов и поместить их в ArrayList, чтобы я мог получить доступ к информации и отображать ее в любое время.
Что я здесь не так делаю?Я попытался изменить файл JSON и преобразовать имена в массив, а затем изменить код в классе Data и сделать имена массивом имен объектов, но получил сообщение об ошибке
Can not deserialize instance of Data out of START_ARRAY token
Кто-нибудь сможетуказать мне правильное направление, поскольку я пробовал много разных решений, но безуспешно.
Заранее благодарен за любую помощь
РЕДАКТИРОВАТЬ:
Если мой JSON будет выглядетькак это тогда
{
"data":{
"name":[
{
"fName":"John",
"lName":"Doe"
},
{
"fName":"test",
"lName":"test2"
}
]
}
}