java - 将 JSONObject 写入文件

标签 java json file file-io

我正在使用 Play 框架。我有一个 JSONObject,其结构如下所示(如在控制台中打印的那样)

{
    "rows_map":{
        "220":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ],
"221":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ],
"222":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ],
"223":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ]
},
    "columns_map":["Sender",
        "Message Received",
        "Device",
        "Time"
    ]
}

我想将这个 JSONObject 写入一个文件。这是代码

String path = "/var/www/html/Prj/public/CacheLayer/Incoming_Cache/CacheFileMgr.cache";

            ObjectOutputStream outputStream = null;
        try{
            outputStream = new ObjectOutputStream(new FileOutputStream(path));
            System.out.println("Start Writings");
                outputStream.writeObject(object);
                outputStream.flush();
                    outputStream.close();
          }catch (Exception e){
          System.err.println("Error: " + e);
          }

以上没有成功写入文件。发生序列化错误。

最佳答案

在 JSONObject 上调用 toString,然后序列化字符串。 JSONObject 本身不可序列化。

String jsonString = jsonObject.toString();

关于java - 将 JSONObject 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417401/

相关文章:

java - 确定数组中每行的最高和最低值

java - 如何将(Android)应用程序上下文传递给 Java 类?

java - 在服务器请求方法中获取并保存 SOAP 传入请求 (XML) ?没有处理程序

json - 如何使用 argonaut 镜头修改 JSON 中的值和类型?

php - Json Php/MySql 输出

java - 在某些条件下撤消微调器选择

java - 从字节矩阵创建一组图像文件

c - 如何读取文件直到倒数第二行

c# - 将字符串写入文本文件并确保它始终覆盖现有内容。

javascript - $scope 值更改后不刷新