将JSON对象作为对象而不是作为字符串写入文件

时间:2019-02-01 05:08:40

标签: java json gson objectmapper

我想将JSON对象写入文件。目前我尝试使用ObjectMapper和Gson,但是他们将JSON作为JSONString写入,因此输出文件具有JSON字符串而不是对象。那么有什么方法可以将JSON对象写为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对象作为String写入文件而不是JSONObject。

1 个答案:

答案 0 :(得分:1)

不要使用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);
            }
        }
    }