2017-02-09 15 views
-1

JSONオブジェクトを解析しようとしています。 JSONレスポンスは次のとおりです。JSON配列内に入れ子になったJSONオブジェクト

{ 
    "message": "Success", 
    "list": [ 
    { 
     "orderId": 24, 
     "phoneNumber": "1234567893", 
     "totalAmount": 100, 
     "addressBean": { 
     "cadId": 1, 
     "phone2": "1234567899", 
     "address1": "34, gandhi nagar", 
     } 
}, 

「orderId」、「phoneNumber」、「totalAmount」を取得しようとしているAndroidコードは以下のとおりです。

final List<OrderModel> orderList = new ArrayList<>(); 

    public void onResponse(JSONObject response) { 
        try { 

         if (response.getString("message").equalsIgnoreCase("Success")) { 
          JSONArray jArray = response.getJSONArray("list"); 

          for (int i = 0; i < jArray.length(); i++) { 

           OrderModel model = new OrderModel(); 
           orderModel.setOrderId(jArray.getJSONObject(i).getString("orderId")); 
           orderModel.setphoneNumber(jArray.getJSONObject(i).getString("phoneNumber")); 
           orderModel.setTotalAmount(new BigDecimal(jArray.getJSONObject(i).getString("totalAmount"))); 
           orderList.add(orderModel); 

          } 
          setOrderList(orderList); 

私は、 "phone2の" とのTextViewで "アドレス1" を "cadId" を示したいと思います。どうやってやるの? cadId

答えて

1

ためphone2

String phone2 = jArray.getJSONObject(i).getJSONObject("addressBean").getString("phone2"); 

ため

+0

を使用してみてくださいあなたの努力をありがとうございました。これも試しました。できます.. – Nandz

1

コードを使用getInt()は、このコード

try { 
     JSONArray jArray = response.getJSONArray("list"); 
     for (int i = 0; i < jArray.length(); i++) { 
      JSONObject jsonObject = jArray.getJSONObject(i); 
      if (jsonObject.has("addressBean")){ 
       JSONObject addressObject = jsonObject.getJSONObject("addressBean"); 
       int cadId = addressObject.getInt("cadId"); 
       String phone = addressObject.getString("phone2"); 
       String address = addressObject.getString("address1"); 
      } 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
関連する問題