http://pastebin.com/rXbeKqAa
大家好,我一直在尝试将上述JSON解析为Java程序并将其存储到对象中……(目前我没有特定的结构,只要我可以从对象中获取数据即可。)
一直在尝试使用GSON,但我似乎无法正确使用它。
String inputLine="";
HttpClient httpclient= new DefaultHttpClient();
HttpGet method = new HttpGet("http://localhost:3000/specs/215/errors.js");
HttpResponse response =httpclient.execute(method);
BufferedReader in = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()));
inputLine = in.readLine();
System.out.println(inputLine);
in.close();
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray array = parser.parse(inputLine).getAsJsonArray();
for(int i=0; i < array.size(); i++) {
Errors e = gson.fromJson(array.get(0), Errors.class);
System.out.println(e.error.getReason());
}
我得到的错误是:
Exception in thread "main" java.lang.IllegalStateException: This is not a JSON Array.
at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:99)
at test.Getter.main(Getter.java:37)
有人请指出正确的方向吗?
谢谢。
最佳答案
JSON字符串不是JSON数组字符串。 JSON字符串分别以{
和}
开头和结尾,而JSON Array分别以[
和]
开头和结尾。
这行是错误的:
JsonArray array = parser.parse(inputLine).getAsJsonArray();
而是将其作为
JsonObject
检索。