这是我下面代码中的json:
"ict":[
{
"module1":{
"1":[
"OS",
"Operating system"
],
"2":[
"CA",
"Computer Application"
],
"3":[
"CM",
"Computational Mathematics"
],
"4":[
"CA",
"Computer Application"
],
"5":[
"Programming",
"Structured Programming"
]
},
我想访问这部分
"1":["OS","Operating system"]
但是在不获取整个字符串的情况下获取字符串 "OS"
。
当我运行我的java代码时:
private void addItemsFromJSON() {
try {
JSONObject jsonObject = new JSONObject(readJSONDataFromFile());
JSONArray coursea = jsonObject.getJSONArray("ict");
for (int i = 0; i < coursea.length(); i++) {
JSONObject cc = coursea.getJSONObject(i);
JSONObject contact = cc.getJSONObject("module1");
courses.add(new course(contact.getString("1"),"",String.valueOf(content.get(ran.nextInt(content.size())))));
}
} catch (JSONException | IOException e) {
Log.d(TAG, "addItemsFromJSON: 777", e);
}
}
我得到的输出是 ["OS", "Operating system"]
如何仅从具有多个值的 json 键数组中检索第一个对象?
答案 0 :(得分:0)
“1”处的数据引用另一个 JSONArray
,因此要获取数组中的第一项,您可以执行以下操作:
JSONArray array = contact.getJSONArray("1");
array.getString(0);
在 JSON 中对象使用 {}
表示,数组使用 []
表示。如果您尝试访问 JSON 对象中的特定值,那么它实际上只是通过数组和对象遵循路径的一种情况。