Как сделать что бы добавлялась информация в JSON файл а не удалялась старая и записывалась новая?
Json устроен так, что ты не можешь просто взять и записать в конец/начало дополнительные данные. Тебе нужно читать файл, парсить его, в нужное место в структуре Json вставлять свои новые данные, и писать всё вместе обратно в файл.

Звучит как говно, и так оно и есть. Возьми простейшую БД, например SQLite, и пиши туда.
У меня есть утилитный метод который записывает информацию в JSON из модели.
public static void convertModelToJson(Object className, String titleFile) {
        ObjectMapper mapper = new ObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        try {
            mapper.writeValue(new File(baseFile + titleFile), className);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

При каждом вызове этого метода создается новый файл и записывается вместо предыдущего, как можно было ожидать, что оно будет добавлять данные в конец? Ну да ладно, это вопрос риторический.
Я бы посоветовал заполять JSON в процессе работы, а сохранять его уже когда работа будет закончена.
Если нужно дополнять файл между сеансами работы с программой - открывайте и парсите его при старте.
И да, если вам правда нужно будет работать с одним файлом в разных сеансах, то подумайте про БД, как вам посоветовал Денис Загаевский