我在使用 JSON 和 Java 时遇到了一些问题,我有一个可以将数据结构导出为 JSON 并将其保存在文件中的工作功能。但是,当我尝试反向操作并将数据结构导入回 java 时,出现错误,其输出为:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at .....
Caused by: java.lang.RuntimeException: JSONObject["nodeID"] not found.
at processing.data.JSONObject.get(JSONObject.java:549)
at processing.data.JSONObject.getString(JSONObject.java:568)
at Graph.loadJSON(Graph.java:934)
... 21 more
Run Code Online (Sandbox Code Playgroud)
从那个错误中,我认为在节点中找不到字符串“nodeID”,但它在 JSON 输出中,如下所示:
{"network": [
{"node": {
"nodeID": "1",
"radius": 40
"atom": {
"id": "a-2675-EH",
"activeTime": 0,
"type": "Motor",
"linkFrom": [{
"atomID": "a-2312-TL",
"delay": 0.20000000298023224
}],
"linkTo": [{
"atomID": "a-3289-Ql",
"delay": 0.20000000298023224
}]
},
.....
Run Code Online (Sandbox Code Playgroud)
JSON 代码是包含在网络中的节点数组,然后每个节点对象包含一个 String nodeID 和 3 个 Float 变量,然后是一个名为 atom 的对象。然后这个原子包含两个字符串、一个浮点数和两个名为linkTo和linkFrom的数组,它们包含表示链接的对象(atomID和delay,分别是string和float)
从网络加载每个节点的 Java 代码如下所示:
JSONObject …Run Code Online (Sandbox Code Playgroud) java processing json runtime-error invocationtargetexception