Изменение данных JSON с помощью GSON
У меня есть файл JSON с некоторыми данными, которые нужно изменять в процессе выполнения программы
data.json
{
users: [
{
"id": 1,
"name": "username",
"age": 35
},
{
"id": 2,
"name": "username_2",
"age": 14
},
{
"id": 3,
"name": "username_3",
"age": 27
}
]
}
Изменить нужно, например, имя пользователя с "id": 2. Как это сделать?
User.java
public class User {
private long id;
private String name;
private int age;
// сеттеры и геттеры...
}
Data.java
public class Data {
private List<User> users;
@Override
public String toString() {
return "{\n" + \n\t\"users\": " + users +
"\n}";
}
// setters and getters ...
}
Parser.java
public class Parser {
String path = "path";
public Data parse() {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
try(FileReader reader = new FileReader(path)) {
Data data = gson.fromJson(reader, Data.class);
return root;
} catch (Exception e) {
System.out.println(e.toString());
}
return null;
}
Main.java
public class Main {
public static void main (String[] args) {
Parser parser = new Parser();
Data data = parser.parse();
System.out.println(data.toString());
}
}
Источник: Stack Overflow на русском