Запись объекта JSON как объекта, а не строки в файл - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу записать объект JSON в файл. В настоящее время я пытался использовать ObjectMapper и Gson, но они записывают JSON как JSONString. Таким образом, выходной файл содержит строку JSON, а не объект.Итак, есть ли способ, чтобы JSON Object записывался как Object, а не как String

JSONObject responseData = new JSONObject(response.getBody().toString());
org.json.simple.JSONObject object  = new
org.json.simple.JSONObject(responseData.toMap());
ObjectMapper objMapper = new ObjectMapper();
objMapper.writeValue(new File(path) , object);

Теперь приведенный выше код записывает JSON Object как String в файл, а не JSONObject.

1 Ответ

0 голосов
/ 01 февраля 2019

Не используйте ObjectMapper.Вы можете достичь этого с помощью самого пакета org.json.simple. *.

    package com.tutorial

    import java.io.FileWriter;
    import java.io.IOException;

    import org.json.simple.JSONObject;

    public class JosnObjectWrite {

        public static void main(String[] args) throws IOException {

            JSONObject responseData = new JSONObject(response.getBody().toString());
            JSONObject object  = new JSONObject(responseData.toMap());

            try (FileWriter file = new FileWriter("/Users/<username>/Documents/file1.txt")) {
                file.write(object.toJSONString());
                System.out.println("Successfully Copied JSON Object to File...");
                System.out.println("\nJSON Object: " + object);
            }
        }
    }
...