2014-03-13 79 views
-1

我有JSON是這樣的:如何解析Java中的JSON值?

{ 
    "results": [ 
     { 
      "updated": false, 
      "notification": false, 
      "id": 123456, 
      "mwb": { 
       "id": 15989, 
       "mwb": "59595959", 
       "pieces": 0, 
       "origin": "RO", 
       "destination": "RU", 
       "status": "SOLVED", 
       "bbs": null 
      }, 

我試圖從結果得到一些值(例如ID)是這樣的:

String shipmentStatus = shipmentData.getJSONObject("results").getString("id"); 

但它拋出一個錯誤時拋出。我應該如何最容易地解析這個JSON?感謝您的任何建議。


異常錯誤是:

03-13 14:20:04.773: W/System.err(27604): at org.json.JSON.typeMismatch(JSON.java:100)  
03-13 14:20:04.773: W/System.err(27604): at org.json.JSONObject.getJSONObject(JSONObject.java:573) – 
+2

你能後的異常堆棧跟蹤嗎? –

+1

'results'是一個JSON數組。 – Mena

+0

@redrom請使用問題標籤下的「編輯」鏈接(問題底部)將堆棧跟蹤放入您的問題中。 – ajp15243

回答

3

嘗試是在這行:

String shipmentStatus = ((JSONObject) 
    ((JSONArray)shipmentData 
     .getJSONArray("results")) 
      .get(0)) 
      .getString("id"); 
0
JsonObject _obj = new JsonObject("Your result String"); 
JsonArray _jarray = _obj.getjsonarray(results); 
for(int i = 0; i<_jarray.length; i++){ 
jsonobject obj = _jarray.getjsonobject(i); 
String _updated = obj.getstring("updated"); 
    String _notification= obj.getstring("notification"); 
    String _id= obj.getstring("id"); 


}