Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将表示为字符串的列表转换为列表?_Java_Android_Json - Fatal编程技术网

Java 如何将表示为字符串的列表转换为列表?

Java 如何将表示为字符串的列表转换为列表?,java,android,json,Java,Android,Json,我正在构建一个Android应用程序,它可以读取moviedb.org上的内容。 我试图做的是让用户输入一个电影标题,并使用该标题查找其id 当我运行查询以搜索电影时,会得到如下响应: { "page": 1, "results": [ { "poster_path": "aaaaa.jpg", "id": "11", "description": "MovieDescription"

我正在构建一个Android应用程序,它可以读取moviedb.org上的内容。

我试图做的是让用户输入一个电影标题,并使用该标题查找其id

当我运行查询以搜索电影时,会得到如下响应:

{
    "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。非常感谢@凯洛伦:不客气,如果你接受我的回答,那就太好了。看见