【问题标题】:JSONObject return empty:falseJSONObject 返回空:false
【发布时间】:2023-04-01 08:53:01
【问题描述】:

经过一些研究,我没有找到任何解决此问题的方法: 当我从文件创建 JSONObject (org.json) 时,它返回“empty”:false。为什么会返回此问题,我该如何解决?

Java:

JSONObject config = new JSONObject(Files.readAllLines(Paths.get("config/maj.json")));

JSON:

{"FyloZ":"0"}

Files.readAllLines 正在返回正确的值。

谢谢!

【问题讨论】:

    标签: java json org.json


    【解决方案1】:

    Files.readAllLines() 返回List<String>,而不是String

    所以实际上您正在使用以下构造函数(接受单个 Object 参数):

    https://stleary.github.io/JSON-java/org/json/JSONObject.html#JSONObject-java.lang.Object-

    使用 bean getter 从 Object 构造 JSONObject

    List 的唯一 getter 样式方法是 isEmpty(),所以你会得到“空:假”的东西。

    尝试以下方法:

    String json = new String(Files.readAllBytes(Paths.get("config/maj.json")), "utf-8");
    JSONObject config = new JSONObject(json);
    

    这里我们将 JSON 读取为字节,将它们转换为字符串(假设它在 utf-8 中),然后从中创建一个 JSONObject

    【讨论】:

      猜你喜欢
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多