Как отредактировать файл 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);
}