@DeNissss4444

Почему при записи информации в файл JSON сама информации выглядит не в формате JSON?

Написал метод который получает JSON, преобразует его в Java обьект и записывает его в FIle.json.Проблема в том что в самом файле (FIle.json) он не отображается привычном виде JSON а вот как
"[\n  {\n    \"userId\": 1,\n    \"id\": 1,\n    \"title\": \"sunt aut facere repellat provident occaecati excepturi optio reprehenderit\",\n ...

И все это идет в одну строчку...Почему так происходит я не совсем понимаю. Вот код метода
public static void getRequest(String url, String path) {
        PostDTO postDTO = new PostDTO();
        String pathJSONFile = "src/main/resources/allPost.json";
        List<PostPojo> postPojos = null;


        HttpRequest request = HttpRequest.newBuilder()
                .GET()
                .header("accept", "application/json")
                .uri(URI.create(url + path))
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            ObjectMapper objectMapper = new ObjectMapper();

            postPojos = objectMapper.readValue(response.body(), new TypeReference<List<PostPojo>>() {
            });
            objectMapper.writeValue(Paths.get(pathJSONFile).toFile(), response.body());
            postDTO.setStatus(response.statusCode());
            postDTO.setPosts(postPojos);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }

Когда через System.out.println вывожу response.body() , то вижу что выводит в консоль в привычном JSON виде. Подскажите в чем может быть причина?
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
BorLaze
@BorLaze
Java developer
objectMapper.writeValue(Paths.get(pathJSONFile).toFile(), response.body());

Потому что ты пишешь строку (response.body()), а не список объектов (postPojos).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы