java - 如何从 JSONArray 获取位置部分和项目?
问题描述
现在,我想Gridview
用部分创建,我遵循
这个
然后我遇到了问题,我不知道如何从中获取位置部分和项目JSONArray
我有JSONArray
这样的
“Team”: [
{
"team_id": "16",
"team_name": "3",
"team_max_player": "6",
"team_amount": "2",
"team_member_list": [
{
"id": "19",
"room_id": "23",
"user_id": "75",
"team_id": "16",
"detail_status": ""
},
{
"id": "21",
"room_id": "23",
"user_id": "46",
"team_id": "16",
"detail_status": ""
}
]
},
{
"team_id": "14",
"team_name": "1",
"team_max_player": "1",
"team_amount": "1",
"team_member_list": [
{
"id": "20",
"room_id": "23",
"user_id": "40",
"team_id": "14",
"detail_status": ""
}
]
}
]
我想将“team_id”设置为部分,将“team_member_list”设置为该部分中的项目。请教我这样做。
我目前在学校 12 年级,有编程课、android studio、JAVA Moblie App。请帮助我并对我的英语感到抱歉。
解决方案
首先,您可以将 JSON 作为字符串加载并使用JSONObject 类解析 JSON 字符串。
然后,您可以使用JSONArray 类解析 JSONObject 中的 JSON 数组,以检索您想要的详细信息。
请参阅下面的代码示例,该示例将在控制台中记录每个团队成员的 ID 以及他们所属的团队的 ID。
JSONObject jsonObject = new JSONObject(jsonString);
JSONArray teams = jsonObject.getJSONArray("Team");
for (int i = 0; i < teams.length(); i++) {
String teamId = jsonObject.getJSONArray("Team").getJSONObject(i).getString("team_id");
JSONArray teamMemberList = jsonObject.getJSONArray("Team").getJSONObject(i).getJSONArray("team_member_list");
for (int j = 0; j < teamMemberList.length(); j++) {
String teamMemberId = teamMemberList.getJSONObject(j).getString("id");
Log.i("team", "team id: " + teamId + " team member id: " + teamMemberId);
}
}
如果您想了解更多关于 Android 中 JSON 解析的信息,我为 Android 编写了一个 JSON 教程,其中更详细。
推荐阅读
- python - 在 unreact 上删除角色无法获得成员
- java - 我是否应该在 java 中使用尾递归,即使它没有优化尾递归
- r - 使用分位数在 R 中创建间隔列,然后计算平均值
- jasper-reports - Jasper 报告,交叉表操作
- c# - GraphServiceClient 过滤器问题
- ios - 图库中的图像选择器
- ubuntu - 无法将日志从 syslog ng 服务器转发到 kafka 主题
- google-cloud-platform - 如何将一个 BigQuery 表复制到另一个区域的现有数据集?
- node.js - 使用异步函数时如何按顺序处理事件
- html - 如何摆脱 CSS 中的双垂直滚动条?