JSON 解析(JSON 未找到对象)Java
JSON Parse (JSON Object Not Found) Java
我在一个名为 "json" 的变量中有一个 JSON 文件格式,我想对其进行解析。
但是,我收到此错误消息:
Exception in thread "main" org.json.JSONException: JSONObject["bindings"] not found.
这是我正在使用的代码:
JSONObject obj = new JSONObject(json);
JSONArray bindings = obj.getJSONArray("bindings");
for (int i=0; i<obj.length(); i++)
{
JSONObject x = bindings.getJSONObject(i);
x.getJSONObject("type1").getString("type");
System.out.println(x);
}
这是我要解析的JSON:
{
"head": {
"vars": [ "type1" , "pred" , "type2" ]
} ,
"results": {
"bindings": [
{
"type1": { "type": "Collection" } ,
"type2": { "type": "has" } ,
"type3": { "type": "contributor" }
} ,
{
"type1": { "type": "Collection2" } ,
"type2": { "type": "has2" } ,
"type3": { "type": "contributor2" }
}
]
}
}
即使我在没有 for 循环的情况下执行以下命令,它仍然显示相同的错误消息。
JSONObject obj = new JSONObject(json);
JSONArray bindings = obj.getJSONArray("bindings");
您需要先通过结果 JSONObject
才能到达您的 JSONArray
:
JSONObject obj = new JSONObject(json);
JSONObject results = obj.getJSONObject("results");
JSONArray bindings = results.getJSONArray("bindings");
我在一个名为 "json" 的变量中有一个 JSON 文件格式,我想对其进行解析。 但是,我收到此错误消息:
Exception in thread "main" org.json.JSONException: JSONObject["bindings"] not found.
这是我正在使用的代码:
JSONObject obj = new JSONObject(json);
JSONArray bindings = obj.getJSONArray("bindings");
for (int i=0; i<obj.length(); i++)
{
JSONObject x = bindings.getJSONObject(i);
x.getJSONObject("type1").getString("type");
System.out.println(x);
}
这是我要解析的JSON:
{
"head": {
"vars": [ "type1" , "pred" , "type2" ]
} ,
"results": {
"bindings": [
{
"type1": { "type": "Collection" } ,
"type2": { "type": "has" } ,
"type3": { "type": "contributor" }
} ,
{
"type1": { "type": "Collection2" } ,
"type2": { "type": "has2" } ,
"type3": { "type": "contributor2" }
}
]
}
}
即使我在没有 for 循环的情况下执行以下命令,它仍然显示相同的错误消息。
JSONObject obj = new JSONObject(json);
JSONArray bindings = obj.getJSONArray("bindings");
您需要先通过结果 JSONObject
才能到达您的 JSONArray
:
JSONObject obj = new JSONObject(json);
JSONObject results = obj.getJSONObject("results");
JSONArray bindings = results.getJSONArray("bindings");