Я бы настоятельно рекомендовал ознакомиться с документацией библиотек Джексона или Гсона, поскольку вы упомянули, что вы новичок. Я создал образец git-репо для этого предмета. В этом примере используется API Джексона.
Посетите https://github.com/rajramo61/jsonwrapper
final InputStream fileData = ClassLoader.getSystemResourceAsStream("file.json");
ObjectMapper mapper = new ObjectMapper();
InitialJson initialJson = mapper.readValue(fileData, InitialJson.class);
System.out.println(mapper.writeValueAsString(initialJson));
final FinalJson finalJson = new FinalJson();
finalJson.setListOfFruits(initialJson);
System.out.println(mapper.writeValueAsString(finalJson));
Это класс Fruit.
public class Fruit {
private String name;
private boolean organic;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean getOrganic() {
return organic;
}
public void setOrganic(boolean organic) {
this.organic = organic;
}
@Override
public String toString() {
return "Fruit{" +
"name='" + name + '\'' +
", organic=" + organic +
'}';
}
}
Вот FinalJsonклассная деталь. Этот класс будет переносить исходный json, загруженный из файла jsn.
public class FinalJson {
private InitialJson listOfFruits;
@JsonProperty("List Fruits")
public InitialJson getListOfFruits() {
return listOfFruits;
}
public void setListOfFruits(InitialJson listOfFruits) {
this.listOfFruits = listOfFruits;
}
}
Здесь приведена подробная информация о классе InitialJson. Этот класс извлекает данные из файла json.
public class InitialJson {
private List<Fruit> fruits;
@JsonProperty("Fruits")
public List<Fruit> getFruits() {
return fruits;
}
public void setFruits(List<Fruit> fruits) {
this.fruits = fruits;
}
@Override
public String toString() {
return "InitialJson{" +
"fruits=" + fruits +
'}';
}
}
Вы можете разветвить репо и закрыть его локально, и оно должно работать нормально.