仅访问 JSON 数组中的第一个对象
Posted
技术标签:
【中文标题】仅访问 JSON 数组中的第一个对象【英文标题】:Access only the First Object from a JSON Array 【发布时间】:2021-06-09 10:15:55 【问题描述】:这是我下面代码中的 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 键数组中仅检索第一个对象?
【问题讨论】:
【参考方案1】:“1”处的数据引用另一个JSONArray
,因此要获取数组中的第一项,您可以执行以下操作:
JSONArray array = contact.getJSONArray("1");
array.getString(0);
在 JSON 中,对象用 表示,数组用
[]
表示。如果您尝试访问 JSON 对象中的特定值,那么这实际上只是通过数组和对象遵循路径的情况。
【讨论】:
以上是关于仅访问 JSON 数组中的第一个对象的主要内容,如果未能解决你的问题,请参考以下文章
如果第二个数组的项目包含数组的第一个对象的 id,则合并 Angular 8 中的两个对象数组
为啥 ios 中的通知仅显示附件数组中的第一个附件,即使还有一个附件。