如何从JSON数组[Android]获取特定对象
我有这样的回应如何从JSON数组[Android]获取特定对象,android,kotlin,Android,Kotlin,我有这样的回应 [{ "userId": 1, "id": 1, "title": "quidem molestiae enim" }, { "userId": 2, "id": 2, "title": "sunt qui excepturi placeat culpa" }, { "userId": 3, "id": 3, "title": "omnis laborum odio" }] 我想显示userId=3的详细信息,但没有为我提供获取详细信息的端点
[{
"userId": 1,
"id": 1,
"title": "quidem molestiae enim"
},
{
"userId": 2,
"id": 2,
"title": "sunt qui excepturi placeat culpa"
},
{
"userId": 3,
"id": 3,
"title": "omnis laborum odio"
}]
我想显示userId=3的详细信息,但没有为我提供获取详细信息的端点。所以我想从这个端点得到细节
应用程序内:
我已经使用recyclerview/list显示了仪表板的数据
之后,我想从我选择的一个数据转到详细信息。
案例:我使用的是上面提到的1个端点
json的起点必须始终是jsonObject,而不是jsonArray。前往后端开发人员,让他或她将jsonArray放在jsonObject中
{
"docs":[{
"userId": 1,
"id": 1,
"title": "quidem molestiae enim"
},
{
"userId": 2,
"id": 2,
"title": "sunt qui excepturi placeat culpa"
},
{
"userId": 3,
"id": 3,
"title": "omnis laborum odio"
}]
}
检查JSON数组并检查属性userId,看看它是否等于3。在java中,我应该怎么做?不,它已经是JSON了。在这种情况下,我只想得到{userId:3,id:3,title:omnis labourum odio} JSONArray jsonArray = (JSONArray) JSON.parse(str); Map map = jsonArray.stream().map( obj -> {JSONObject jsonobject = (JSONObject) obj;return jsonobject;}).collect(Collectors.toMap(obj->obj.getIntValue("userId"),obj->obj.toJSONString())); System.out.println(map.get(3));