У меня есть два массива JSON:
{
"Person": {
"Info": [
"name": "Becky",
"age": 14
]
},
"Fruits": [
{
"name": "avocado",
"organic": true
},
{
"name": "mango",
"organic": true
}
],
"Vegetables": [
{
"name": "brocoli",
"organic": true
},
{
"name": "lettuce",
"organic": true
}
]
}
Я пытаюсь использовать библиотеки Джексона и Gson, чтобы все выглядело красиво.
Как то так. Это прекрасно работает с Gson. Итак, вывод, который мне нужен:
{
"Person": {
"Info": [
"name":"Becky",
"age": 14
]
},
"FruitsList": {
"Fruits": [
{
"name": "avocado",
"organic": true
},
{
"name": "mango",
"organic": true
}
]
},
"VegetablesList": {
"Vegetables": [
{
"name": "brocoli",
"organic": true
},
{
"name": "lettuce",
"organic": true
}
]
}
}
Я установил свои классы как:
class Person{
private List<Info> InfoList;
//Set and get were set
}
class Info{
private String name;
private int age;
//Set and get were set
}
class Fruits{
private String name;
private boolean organic;
//Set and get were set
public String toString(){
return "Fruits:{" +
"name:'" + name+ '\'' +
", organic:" + organic+'\''+
'}';
}
}
class Vegetables{
private String name;
private boolean;
//Set and get were set
public String toString(){
return "Fruits:[" +
"name:'" + name+ '\'' +
", organic:" + organic+'\''+
']';
}
}
class rootFinal{
private List<Fruits> fruitList;
private List<Vegetables> vegetablesList;
private List<Person> personList;
//Set and get were set
}
class mainJson{
final InputStream fileData = ..("testPVF.json");
ObjectMapper map = new Ob..();
rootFinal root = map.readValue(fileData,rootFinal.class);
// I can access each class with
System.out.printl(root.getHeaderList.get(0));
}
Это выводит ...
[Fruit{name:'avocado', organic:true}, Fruit{name:'mango', organic:true}]
Но это не такчто я хочу.
Я пытаюсь выполнить итерацию по файлу JSON или как-нибудь, если есть лучший способ проверить, существует ли массив. Добавьте к нему дополнительный объект / массив.
Если я найду Veg
или Fruit
, я хочу как-то добавить VegList
и FruitList
, как показано. Он должен игнорировать "Person": {}
, поскольку он находится в символе {}
.