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
。
经过一些研究,我没有找到解决这个问题的方法: 当我从文件创建 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
。