2013-05-02 74 views
0

在我的應用程序時得到這樣在android中JSON數組中具有相同對象名稱的多個數組?

{ 
"orderDetails": [ 
    { 
     "order_details": { 
      "branch_code": 0, 
      "cust_code": 87, 
      "custom_instructions": "<null>", 
      "merchant_code": "<null>", 
      "order_number": 419, 
      "order_type_code": 1, 
      "packing_charge": 0, 
      "price": 200, 
      "product_code": 21, 
      "quantity": 1, 
      "value": 200 
     }, 
     "order_headers": { 
      "branch_code": 0, 
      "cust_code": 87, 
      "delivered_time": "<null>", 
      "delivery_charge": 23, 
      "delivery_date": "2013-05-02", 
      "delivery_support": "", 
      "delivery_time": "12:52:25", 
      "grand_total": 354, 
      "merchant_code": "<null>", 
      "order_datetime": "2013-05-02 12:52:25", 
      "order_status": "Pending", 
      "order_type_code": 1, 
      "order_value": 354, 
      "packing_charge": 0, 
      "payment_status": "Pending", 
      "payment_type": "Cash", 
      "sub_total": 325, 
      "vat_percent": 7 
     } 
    }, 
    { 
     "order_details": { 
      "branch_code": 0, 
      "cust_code": 87, 
      "custom_instructions": "<null>", 
      "merchant_code": "<null>", 
      "order_number": 419, 
      "order_type_code": 1, 
      "packing_charge": 0, 
      "price": 125, 
      "product_code": 35, 
      "quantity": 1, 
      "value": 125 
     }, 
     "order_headers": { 
      "branch_code": 0, 
      "cust_code": 87, 
      "delivered_time": "<null>", 
      "delivery_charge": 23, 
      "delivery_date": "2013-05-02", 
      "delivery_support": "", 
      "delivery_time": "12:52:25", 
      "grand_total": 354, 
      "merchant_code": "<null>", 
      "order_datetime": "2013-05-02 12:52:25", 
      "order_status": "Pending", 
      "order_type_code": 1, 
      "order_value": 354, 
      "packing_charge": 0, 
      "payment_status": "Pending", 
      "payment_type": "Cash", 
      "sub_total": 325, 
      "vat_percent": 7 
     } 
    } 
], 
"orderSuccess": 1 
} 

我想提出的所有ORDER_DETAILS單數組列表殲SON迴應,我也不知道怎麼解決這個problem.Can任何人知道,請幫助我解決這個問題。

+0

而你的問題是? – Pragnani 2013-05-02 11:35:05

+0

@Pragnani無法獲得所有order_details value.am只能得到最後一個訂單的詳細信息值 – Yugesh 2013-05-02 11:42:35

+0

您是如何解析它的?發佈您的代碼以便我可以幫助您。你想要ArrayList中的所有order_details嗎? – Pragnani 2013-05-02 11:54:12

回答

0
// Convert String to json object 
JSONObject json = new JSONObject(responseString); 

// get order_details json object 
JSONObject json_order_details = json.getJSONObject("order_details"); 

// get value from LL Json Object 

myArrayList1.add(json_order_details.getString("branch_code")); 
myArrayList2.add(json_order_details.getString("cust_code")); 
myArrayList3.add(json_order_details.getString("order_number")); 
myArrayList4.add(json_order_details.getString("price")); 
. 
. 
. 
+0

@Yugesh是否解決了您的問題? – 2013-05-06 08:07:42

0

可以使用包含HashMap的ArrayList來解決這個喜歡

ArrayList<HashMap<String,String>> List=new ArrayList<HashMap<String,String>>; 
HashMap myHashMap=new HashMap<String, String>(); 
myHashMap.put(" ",values); 
List.add(myHashMap); 
0

我沒有檢查的代碼,這些代碼可以幫助您需要添加更多的東西作爲參考

public void parse(String data){ 
    JsonObject j1 = new JsonObject(data); 
    String orderSuccess = j1.getString("orderSuccess"); 

    if(j1.has("orderDetails")) 
    JsonArray jArray = new JsonArray(j1.getString("orderDetails")); 
    //jArray loop with size 
    for(i=0;i<jsonArray.length() ; i++){ 
    ArrayList<FeedObject> arrayList = new ArrayList<FeedObject>(); 
    FeedObject feedObject = new FeddObject(); 
    JsonObject j2 = jArray.getJsonObject(i); 

    if(j2.has("order_details")){ 
    JsonObject j3 = j2.getJsonObject("order_details"); 
    } 

    if(j2.has("order_headers")){ 
    JsonObject j4 = j2.getJsonObject("order_headers"); 
    } 

    feedObject.branch_code__order_details = j3.getString("branch_code"); 
    . 
    . 
    . 
    . 
    feedObject.branch_code__order_headers = j4.getString("branch_code"); 
    . 
    . 
    . 
    . 


    feedbject.orderSuccess = orderSuccess ; 

    } 


    } 
1
JSONArray j1; 
    JSONObject ordeedetail,orderheader,mainobject,main; 
    String custinstruction,brnchcode,custcode,deliverytime; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     try { 
      main = new JSONObject(jsonstring); 
      Log.e(main.toString(),"string"); 
      j1 = main.getJSONArray("orderDetails"); 
      Log.e(j1.toString(),"string"); 
      for(int i=0;i<j1.length();i++) 
      { 
       mainobject= j1.getJSONObject(i); 
       if (mainobject.has("order_details")){ 
        ordeedetail = mainobject.getJSONObject("order_details"); 
        brnchcode=ordeedetail.getString("branch_code").toString(); 
        Log.e(brnchcode.toString(),"branch_code"); 
        custcode=ordeedetail.getString("cust_code").toString(); 
        Log.e(custcode.toString(),"cust_code"); 
        custinstruction=ordeedetail.getString("custom_instructions").toString(); 
        Log.e(custinstruction.toString(),"custinstruction"); 
       } 
       else if(mainobject.has("order_headers")){ 
        orderheader = mainobject.getJSONObject("order_details"); 
        brnchcode=orderheader.getString("branch_code").toString(); 
        Log.e(brnchcode.toString(),"branch_code"); 
        custcode=orderheader.getString("cust_code").toString(); 
        Log.e(custcode.toString(),"cust_code"); 
        deliverytime=orderheader.getString("delivered_time").toString(); 
        Log.e(custinstruction.toString(),"deliverytime"); 
       } 
      } 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
try this logic.... 
相關問題