Прямо сейчас я пытаюсь записать слова и их оценки в JSON, однако на самом деле их написание оказывается довольно трудным. Мой код для записи вещей относительно прост, и будет работать , если это будет только одно значение, однако мне нужно многократно обращаться к этим значениям.
Вот код, который я использую написать:
public void write(String word) throws IOException {
ValuedWord valuedWord = new ValuedWord(0,0,0,0,0,0,0,0);
writer.withRootName(word).writeValue(generator, valuedWord);
}
В идеале это должно дать что-то вроде этого:
{
"WORD_A" : {
"SCORE_1" : 0,
"SCORE_2" : 0
},
"WORD_B" : {
"SCORE_1" : 0,
"SCORE_2" : 0
}
}
Однако форматирование становится довольно странным, когда я делаю второе слово, превращаясь в два отдельных уровня вместо того, чтобы оставаться на одном уровне:
{
"no" : {
"joy" : 0.0,
"anger" : 0.0,
"sadness" : 0.0,
"fear" : 0.0,
"love" : 0.0,
"disliking" : 0.0,
"liking" : 0.0,
"uses" : 0
}
} {
"yes" : {
"joy" : 0.0,
"anger" : 0.0,
"sadness" : 0.0,
"fear" : 0.0,
"love" : 0.0,
"disliking" : 0.0,
"liking" : 0.0,
"uses" : 0
}
}
Также не помогает, что каждый раз, когда я пишу в файл, он сразу удаляет все, что уже существует.
Как бы Я добавляю данные в файл JSON на том же уровне и просто редактирую уже существующие данные?