JSONObject return empty:false

JSONObject return empty:false

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

Java:

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

JSON:

{"FyloZ":"0"}

Files.readAllLines 正在工作 return 正确的值。

谢谢!

Files.readAllLines()returnsList<String>,不是String.

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

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

Construct a JSONObject from an Object using bean getters

List 的唯一 getter 风格的方法是 isEmpty(),所以你得到了 'empty: false' 东西。

尝试以下操作:

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

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