我想使用json-simple-1.1.1.jar库将字符串转换为JSON数组,并提出以下代码,

import org.json.simple.*;


public class RESTclient {

    public static void main(String[] args) {

        String output = "[{\"Symbol\":\"AMZN\",\"Name\":\"Amazon.com Inc\",\"Exchange\":\"NASDAQ\"},{\"Symbol\":\"VXAZN\",\"Name\":\"CBOE Amazon VIX Index\",\"Exchange\":\"Market Data Express\"}]";

        JSONObject jsonObject = new JSONObject(output);

        String[] names = JSONObject.getNames(jsonObject);

        JSONArray jsonArray = jsonObject.toJSONArray(new JSONArray(names));

        System.out.println(jsonArray);
    }

}


我希望输出为JSON数组。我在这里做错了什么?

最佳答案

我在这里做错了什么?


您正在尝试将包含JSON数组的String转换为JSONObject

JSONObject jsonObject = new JSONObject(output);


您的内容表示一个JSON数组,因此应将其解析为

JSONParser parser = new JSONParser();
JSONArray jsonArray = (JSONArray) parser.parse(output);




请注意,其他库(例如Gson和Jackson)对JSON数组和对象(JsonArrayArrayNode)具有更好的抽象性。考虑改用那些。

07-24 09:43
查看更多