我想使用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数组。我在这里做错了什么?
答案 0 :(得分:1)
我在这里做错了什么?
您尝试将包含JSON数组的String
转换为JSONObject
JSONObject jsonObject = new JSONObject(output);
您的内容代表一个JSON数组,因此将其解析为
JSONParser parser = new JSONParser();
JSONArray jsonArray = (JSONArray) parser.parse(output);
请注意,其他库(如Gson和Jackson)对JSON数组和对象(JsonArray
,ArrayNode
)有更好的抽象。考虑改用它们。