Изменение данных JSON с помощью GSON

Рейтинг: 1Ответов: 0Опубликовано: 28.01.2023

У меня есть файл 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());
    }
}

Ответы

Ответов пока нет.