我在访问另一个对象中的JSON数组节点时遇到了麻烦。
我正在尝试阅读的JSON文件基本上是这样的:
[
{
"dependencies": [ "data"
]
}
]
我已经到了无法使用我的代码访问标签的地步,我不知道如何。
我正在使用http://www.json.org/java/
中的JSON库我在这个例子中使用的完整代码在这里:
List depList;
InputStream is = new URL(url).openStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
JdomParser jp = new JdomParser();
JsonRootNode js = jp.parse(rd);
if(js.getArrayNode(0).get(0).getArrayNode("dependencies").size() > 0){
depList = js.getArrayNode(0).get(0).getArrayNode("dependencies");
is.close();
return depList;
} else {
return null;
}
我正在使用的具体行是这一行:js.getArrayNode(0).get(0).getArrayNode("dependencies")
答案 0 :(得分:1)
JSONArray outArray = new JSONArray(json);
JSONObject outObject = outArray.getJSONObject(0);
JSONArray inArray = outObject.getJSONArray("dependencies");
String data = inArray.getString(0);
答案 1 :(得分:0)
以下是一些可以帮助您的示例代码。这打印出“数据”。
package com.sandbox;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class Sandbox {
public static void main(String[] args) throws JSONException {
String input = "[\n" +
"{\n" +
" \"dependencies\": [ \"data\"\n" +
" ]\n" +
"}\n" +
"]";
JSONArray start = new JSONArray(input);
JSONObject jsonObject = start.getJSONObject(0);
JSONArray dependencies = jsonObject.getJSONArray("dependencies");
String data = dependencies.getString(0);
System.out.println(data);
}
}
这是我的maven依赖:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>