我有以下两个JSON
数组:
{
"Person": {
"Info": [
"name": "Becky","age": 14
]
},"Fruits": [
{
"name": "avocado","organic": true
},{
"name": "mango","organic": true
}
],"Vegetables": [
{
"name": "brocoli",{
"name": "lettuce","organic": true
}
]
}
我想做的是使用Jackson
和Gson
库使所有内容看起来都很漂亮。
类似这样的事情。 Gson
可以正常工作。所以我想要的输出是:
{
"Person": {
"Info": [
"name":"Becky","age": 14
]
},"FruitsList": {
"Fruits": [
{
"name": "avocado","organic": true
},{
"name": "mango","organic": true
}
]
},"VegetablesList": {
"Vegetables": [
{
"name": "brocoli",{
"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": {}
符号中,因此应忽略{}
。
是否可以使用Gson
来做到这一点?