Как отредактировать файл json с помощью gson?

У меня есть файл json который мне надо как-то отредактировать. Проблема в том что я редактирую файл тем для мессенджера и он всегда отличается, в одном больше значений в другом меньше. Мне надо не заново написать файл, а просто например поменять title и не трогать другое например night (он не всегда есть). Возможно ли это?

{
  "author" : "TTTEditor",
  "colors" : {
    "accent" : "#1",
    "unreadText" : "#ffffff"
  },
  "night" : true,
  "title" : "Dark-Grey",
  "version" : 1
}

Ответы (1 шт):

Автор решения: Vadik

Парсим json из файла с помощью JsonParser библиотеки Gson:

JsonObject jsonObject;
try (Reader reader = new FileReader("input.json")) {
    jsonObject = JsonParser.parseReader(reader).getAsJsonObject();
}

Меняем поле title на новое значение:

jsonObject.add("title", new JsonPrimitive("New Title"));

Пишем json в файл:

Gson gson = new GsonBuilder().setPrettyPrinting().create();
try (Writer writer = new FileWriter("output.json")) {
    gson.toJson(jsonObject, writer);
}
→ Ссылка