如何将 jsonArray 转换为 List<String> Java?

我正在使用 openjdk 11,我正在调用一个返回内容类型 json 的 api。我解析响应并转换成这样的字符串(需要这样做,因为我期待不同格式/结构的响应):


    HttpEntity entity = response.getEntity();


    try

    {

        responseBody = EntityUtils.toString( entity );

    }

    catch ( Exception e )

    {

        LOG.error( "Unable to parse response", e );

        e.printStackTrace();

    }

其中 response 是一个org.apache.http.HttpResponse类型的对象。


转换为字符串后,响应如下所示:


["abc","bcd","cde"]

现在,我试图将其放入 jsonObject 或 JsonArray 中


 JSONArray jsonArray = new JSONArray(responseBody);

 Arrays.asList(jsonArray).stream().forEach(e-> LOG.info("Connector: " + e));

虽然我的jsonArray看起来不错,但出现如下错误:


["abc","bcd","cde"] is not an array

问题是:如何将该 jsonArray 转换为 Java 中的列表 ?


慕虎7371278
浏览 152回答 1
1回答

MMMHUHU

我假设 JSONArray 来自 Android。你可以这样做:ArrayList<String> list = new ArrayList<String>();JSONArray jsonArray = (JSONArray)jsonObject;if (jsonArray != null) {    int len = jsonArray.length();    for (int i=0;i<len;i++){        list.add(jsonArray.get(i).toString());    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java