Поскольку вы не упомянули слишком много подробностей, я предположил, что вы всегда можете получить ответ HTTP (например, код состояния HTTP равен 200.), и ответ всегда является допустимой строкой JSON.
Простой способ добиться этого - использовать List<Map<String, Object>>
для манипулирования данными. Следующий фрагмент кода (без учета какой-либо обработки исключений) показывает, как использовать List<Map<String, Object>>
для чтения и записи файла с ним.
Пример кода (написанный на Java 8 с парсером Jackson JSON)
List<Map<String, Object>> jsonList = new ArrayList<Map<String, Object>>();
Path path = Paths.get("json_result.txt"); //this file already existed
//read file and save content into jsonList
Stream<String> lines = Files.lines(path);
lines.forEach(line -> {
try {
jsonList.addAll(mapper.readValue(line, new TypeReference<List<Map<String, Object>>>(){}));
}
...
}
//add new response string into jsonList and write to file
String responseStr = "{\"Name\":\"one\",\"age\":\"22\"}";
jsonList.add(mapper.readValue(responseStr, new TypeReference<Map<String, Object>>(){}));
Files.write(path, jsonList.toString().getBytes());