1
我想解析來自服務器的http json響應的大響應。創建響應文件的類是有害的,因爲文件太大。我試着用GSON,但沒有效果Java Gson http響應難解析
這裏是響應http://www.sendspace.pl/file/ff7257d27380cf5e0c67a33
而且我的代碼:
try {
JsonReader reader = new JsonReader(content);
JsonElement json = new JsonParser().parse(reader);
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("devices")) {
System.out.println("gfdd");
} else {
reader.skipValue(); //avoid some unhandle events
}
}
reader.endObject();
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我得到異常:
Exception in thread "main" java.lang.IllegalStateException: Expected BEGIN_OBJECT but was END_DOCUMENT at line 799 column 2
at com.google.gson.stream.JsonReader.expect(JsonReader.java:339)
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322)
at LightsControl.main(LightsControl.java:41)
JSON響應確實相當大,您是否要訪問響應中的所有數據?在GSON中,你必須創建類來包裝JSON響應,我可以向你解釋如何,但它確實會「有害,因爲文件太大」... – MikO 2013-04-10 14:20:54