【问题标题】:Append to JSONObject, write object to file using org.json for Java?附加到 JSONObject,使用 Java 的 org.json 将对象写入文件?
【发布时间】:2019-09-12 19:07:07
【问题描述】:

首先,我对此进行了广泛的研究,但由于 org.json 和 json.simple 对数据类型使用相同的名称,因此非常令人困惑,并且不适用于我的特定实例。我需要获取一个现有的 JSONObject,将该对象附加到另一个 JSONObject,然后将该新对象写入文件。如果这样更容易,我可以将另一个 JSONObject 转换为一个刺痛。

例子:

JSONObject jObj = new JSONObject();
... make new JSONObject jo ...
jObj.put(jo);
... then somehow save the appended jObj to a file ...

【问题讨论】:

  • 只需将您的 JSONObject 转换为字符串并像 Files.writeString(Paths.get("path/to/file"), json, StandardOpenOption.WRITE); 一样编写它
  • 如果没有看到一些示例数据,我不确定您到底想要做什么,但通常对于 JSON 对象 ABA + B 其中+ 是字符串append 不是一个有效的 JSON 对象。
  • @michalk .writeString 的第二个参数应该是一个字符串,因为当我尝试它时,它说它没有为这些类型定义

标签: java json org.json


【解决方案1】:

如果我理解正确,您使用的是 org.json

在这种情况下,只需使用:

PrintWriter myFile = new PrintWriter(myFilePath, "UTF-8");
String source = "{\"test\": \"my json object\"}";
JSONObject jObj = new JSONObject();
JSONObject jObjNew = new JSONObject(source);
jObj.put("jObjNew",jObjNew);
myFile.println(jObj.toString(4));

这是“myFilePath”文件中的输出:

{
    "jObjNew": {
        "test": "my json object"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多