Java 如何将表示为字符串的列表转换为列表?
我正在构建一个Android应用程序,它可以读取moviedb.org上的内容。 我试图做的是让用户输入一个电影标题,并使用该标题查找其id 当我运行查询以搜索电影时,会得到如下响应:Java 如何将表示为字符串的列表转换为列表?,java,android,json,Java,Android,Json,我正在构建一个Android应用程序,它可以读取moviedb.org上的内容。 我试图做的是让用户输入一个电影标题,并使用该标题查找其id 当我运行查询以搜索电影时,会得到如下响应: { "page": 1, "results": [ { "poster_path": "aaaaa.jpg", "id": "11", "description": "MovieDescription"
{
"page": 1,
"results": [
{
"poster_path": "aaaaa.jpg",
"id": "11",
"description": "MovieDescription"
},
{
"poster_path": "bbbbb.jpg",
"id": "12",
"description": "MovieDescription2"
},
{
"poster_path": "ccccc.jpg",
"id": "13",
"description": "MovieDescription"
}
]
}
使用Maven JSON库,我可以使用JSON.get(“results”)
以字符串形式获取results
键
返回:
[
{
"poster_path": "aaaaa.jpg",
"id": "11",
"description": "MovieDescription"
},
{
"poster_path": "bbbbb.jpg",
"id": "12",
"description": "MovieDescription2"
},
{
"poster_path": "ccccc.jpg",
"id": "13",
"description": "MovieDescription"
}
]
但是我想把第一个结果转换成另一个JSONObject
,这样我就可以从第一个结果中获得电影的id
我认为这样做的方法是将results
值转换为JSONObject
列表,然后对列表中的第一个对象使用json.get(“id”)
方法。但我不知道如何进行这种转换
任何帮助都将不胜感激。您可以使用
JSONObject.getJSONArray
直接以JSON数组的形式获取结果:
JSONArray results = json.getJSONArray("results") // Get results as JSON Array
JSONObject first = results.getJSONObject(0) // Get first object as JSON Object
请参阅:这些“结果”只是一个JSON数组,您需要将
JSONObject
转换为“JSON数组”对象(抱歉,没有可用的API),这样您就可以访问各个方法了。我想这会使它更容易,谢谢!我刚刚使用JSONArray.get(0)从JSONArray中的第一项创建了一个新的JSONObject。非常感谢@凯洛伦:不客气,如果你接受我的回答,那就太好了。看见