2015-08-08 85 views
0

我要把JSON結果textviews但由於多種陣列的我能得到的日期時間,位置和狀態的對象只有一個鍵/值。 JSON對象是:如何分析與多鍵的JSON對象在android系統

{ 
    "signature":"testSignature", 
    "deliverydate":"2015-08-06 15:07:00", 
    "datetime":{ 
     "0":1438848420, 
     "1":1438841820, 
     "2":1438838760, 
    }, 
    "location":{ 
     "0":"PA", 
     "1":"PA", 
     "2":"PA", 
    }, 
    "status":{ 
     "0":"packed", 
     "1":"On the go", 
     "2":"delivered", 
    }, 
    "pickupdate":2015-08-04 07:55:00 
} 

,這是我的Java代碼:

try { 

    List<NameValuePair> params = new ArrayList<NameValuePair>(); 
    params.add(new BasicNameValuePair("NO", NUMBER_TO_POST)); 

    JSONObject json = jsonParser.makeHttpRequest(URL_TO_POST, "POST", params); 

    success = json.getString(TAG_SIGNATURE); 
    if (success != null) { 
     SIGNATURE = json.getString(TAG_SIGNATURE); 
     DELIVERY_DATE = json.getString(TAG_DELIVERY_DATE); 

     JSONObject DT = json.getJSONObject(TAG_DATETIME); 
     DATETIME = DT.getString("0"); 

     JSONObject LOC = json.getJSONObject(TAG_LOCATION); 
     LOCATION = LOC.getString("0"); 

     JSONObject STAT = json.getJSONObject(TAG_STATUS); 
     STATUS = STAT.getString("0"); 

     PICKUP_DATE = json.getString(TAG_PICKUP_DATE); 

    }else{ 
     finish(); 

    } 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 

誰能幫我解決這個問題?由於

回答

1

您應該使用GSON庫來解析JSONs。

而且要多一點幫助,這裏是如何你的類來保存JSON值可能看起來像:

class MyClassForGsonToHoldParseJSON { 
    String signature; 
    String deliverydate; 
    Map<String, long> datetime; 
    Map<String, String> location; 
    Map<String, String> status; 
    String pickupdate; 
} 

然後,只需使用這樣的變量json使用JSON數據CONVER一個對象:

Gson gson = new Gson(); 
MyClassForGsonToHoldParseJSON f = gson.fromJson(json, MyClassForGsonToHoldParseJSON.class); 
0

你的JSON格式錯誤:

{ 
    "signature": "testSignature", 
    "deliverydate": "2015-08-06 15:07:00", 
    "datetime": { 
     "0": 1438848420, 
     "1": 1438841820, 
     "2": 1438838760 
    }, 
    "location": { 
     "0": "PA", 
     "1": "PA", 
     "2": "PA" 
    }, 
    "status": { 
     "0": "packed", 
     "1": "On the go", 
     "2": "delivered" 
    }, 
    "pickupdate": " 2015-08-04 07:55:00" 
} 
+0

最後一句應該是雙QUOT es Json –