2015-04-18 78 views
0

我有一些JSON。隨着GSON,它總是拋出線程「main」 java.lang.IllegalStateException錯誤與gson協助解析(谷歌json)

異常:不是一個JSON對象:

[["Rank","Team","Qual Avg","Auto","Container","Coopertition","Litter","Tote","Played"],[1,1730,126.3,160,488,160,137,318,10],[2,1806,96.799999999999997,20,516,80,62,344,10],[3,4522,79.799999999999997,0,404,40,64,308,10],[4,2410,79.0,26,264,160,104,242,10],[5,1329,77.099999999999994,26,220,240,121,188,10],[6,1939,65.0,28,204,80,150,194,10],[7,2457,64.799999999999997,0,328,0,100,232,10],[8,1785,61.200000000000003,20,148,120,142,188,10],[9,4646,59.5,0,200,120,81,206,10],[10,1723,58.600000000000001,24,164,80,156,168,10],[11,5476,54.899999999999999,20,160,120,103,152,10],[12,5126,54.600000000000001,0,168,120,102,168,10],[13,1763,54.100000000000001,12,164,160,67,168,10],[14,1775,54.0,0,148,120,112,178,10],[15,4809,53.100000000000001,24,148,80,117,182,10],[16,1810,52.700000000000003,0,188,80,53,206,10],[17,5013,52.399999999999999,0,148,80,110,192,10],[18,1777,52.299999999999997,8,116,200,97,126,10],[19,1825,52.0,20,200,40,94,178,10],[20,1764,51.5,34,204,0,127,156,10],[21,2164,51.100000000000001,0,160,80,71,212,10],[22,1737,50.399999999999999,10,132,120,74,172,10],[23,3528,50.100000000000001,0,156,80,81,200,10],[24,938,49.100000000000001,20,188,40,115,152,10],[25,5098,48.799999999999997,4,180,80,64,178,10],[26,1987,47.700000000000003,20,76,80,49,258,10],[27,2167,47.5,28,128,80,81,186,10],[28,2335,47.299999999999997,0,128,40,127,178,10],[29,1288,44.600000000000001,12,128,40,68,204,10],[30,5119,44.200000000000003,26,108,80,108,134,10],[31,1802,43.899999999999999,6,136,80,35,188,10],[32,5268,43.600000000000001,26,92,40,110,174,10],[33,4959,43.0,4,136,80,86,140,10],[34,1982,42.799999999999997,12,116,80,88,162,10],[35,2357,41.399999999999999,0,112,120,76,160,10],[36,4455,40.700000000000003,26,168,0,87,132,10],[37,2874,40.5,0,104,80,93,146,10],[38,2560,40.200000000000003,6,132,40,134,96,10],[39,937,39.899999999999999,0,112,80,69,150,10],[40,2353,39.700000000000003,6,100,80,69,178,10],[41,1997,36.0,0,84,120,38,130,10],[42,5082,35.600000000000001,20,64,40,124,114,10],[43,1710,35.299999999999997,0,76,40,57,192,10],[44,3485,34.899999999999999,20,92,40,71,136,10],[45,3792,32.5,0,104,40,71,128,10],[46,2001,32.0,0,108,0,76,154,10],[47,5141,31.800000000000001,0,76,80,50,144,10],[48,1984,31.399999999999999,4,84,40,44,154,10],[49,1827,30.800000000000001,0,64,0,112,156,10],[50,2345,30.600000000000001,0,136,40,32,150,10],[51,1847,29.300000000000001,24,108,0,57,116,10],[52,1769,27.600000000000001,12,100,0,54,134,10],[53,1994,27.0,0,28,120,72,86,10],[54,2346,25.0,0,64,40,64,106,10]] 

我想作出軍銜一個int。我在JSONLint上檢查過它,它是有效的。

這裏是我的代碼:

Gson gson = new GsonBuilder().serializeNulls().create(); 
    System.out.println("Connecting to The Blue Alliance"); 
    String sURL = "http://www.thebluealliance.com/api/v2/event/2015mokc/rankings?X-TBA-App-Id=frc1810:alex-webber:v01"; 
    URL url = new URL(sURL); 
    HttpURLConnection request = (HttpURLConnection) url.openConnection(); 
    request.connect(); 
    JsonParser jp = new JsonParser(); 
    JsonElement root = jp.parse(new InputStreamReader((InputStream) request 
        .getContent())); 
    JsonObject rootobj = root.getAsJsonObject(); 
    String key = rootobj.get("key").toString(); 
+0

是有必要使用GSON? – Joseph118

回答

0

那是因爲它是不是一個對象類型。從JavadocJsonObject

代表一個JSON對象類型的類...

你得到的響應類型是一個數組類型,所以你需要使用JsonArray代替JsonObject

JsonArray jsonArray = root.getAsJsonArray();