Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中JSON数组中具有相同对象名称的多个数组?_Android - Fatal编程技术网

android中JSON数组中具有相同对象名称的多个数组?

android中JSON数组中具有相同对象名称的多个数组?,android,Android,在我的应用程序中,我得到了如下的J-SON响应 { "orderDetails": [ { "order_details": { "branch_code": 0, "cust_code": 87, "custom_instructions": "<null>", "merchant_code": "<null>", "order

在我的应用程序中,我得到了如下的J-SON响应

{
"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
}
{
“订单详细信息”:[
{
“订单详细信息”:{
“分支机构代码”:0,
“客户代码”:87,
“自定义_说明”:“,
“商户代码”:“,
“订单号”:419,
“订单类型代码”:1,
“包装费”:0,
“价格”:200美元,
“产品代码”:21,
“数量”:1,
“价值”:200
},
“订单标题”:{
“分支机构代码”:0,
“客户代码”:87,
“交付时间”:“,
“交付费”:23,
“交付日期”:“2013-05-02”,
“交付支持”:“,
“交货时间”:“12:52:25”,
“总计”:354,
“商户代码”:“,
“订单日期时间”:“2013-05-02 12:52:25”,
“订单状态”:“待定”,
“订单类型代码”:1,
“订单价值”:354,
“包装费”:0,
“付款状态”:“待定”,
“付款类型”:“现金”,
“小计”:325,
“增值税百分比”:7
}
},
{
“订单详细信息”:{
“分支机构代码”:0,
“客户代码”:87,
“自定义_说明”:“,
“商户代码”:“,
“订单号”:419,
“订单类型代码”:1,
“包装费”:0,
“价格”:125,
“产品代码”:35,
“数量”:1,
“价值”:125
},
“订单标题”:{
“分支机构代码”:0,
“客户代码”:87,
“交付时间”:“,
“交付费”:23,
“交付日期”:“2013-05-02”,
“交付支持”:“,
“交货时间”:“12:52:25”,
“总计”:354,
“商户代码”:“,
“订单日期时间”:“2013-05-02 12:52:25”,
“订单状态”:“待定”,
“订单类型代码”:1,
“订单价值”:354,
“包装费”:0,
“付款状态”:“待定”,
“付款类型”:“现金”,
“小计”:325,
“增值税百分比”:7
}
}
],
“订单成功”:1
}

我想把所有订单的详细信息放在单数组列表中,我不知道如何解决这个问题。谁知道,请帮我解决这个问题。

这是个简单的问题,你可以自己解决。读一读或者

试着自己做每件事,而不是复制/粘贴StackOverflow。


Upd抱歉,这一定是一条评论。

您可以使用哈希映射的数组列表来解决此问题

ArrayList<HashMap<String,String>> List=new ArrayList<HashMap<String,String>>;
HashMap myHashMap=new HashMap<String, String>();
myHashMap.put(" ",values);
List.add(myHashMap);
ArrayList List=新的ArrayList;
HashMap myHashMap=新HashMap();
myHashMap.put(“,值);
List.add(myHashMap);

我没有检查代码,这段代码帮助你需要添加更多的东西作为参考

 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 ;

    }


    }
public void解析(字符串数据){
JsonObject j1=新的JsonObject(数据);
String orderSuccess=j1.getString(“orderSuccess”);
如果(j1.has(“订单详细信息”))
JsonArray jArray=newjsonarray(j1.getString(“orderDetails”);
//带大小的jArray循环
对于(i=0;i
JSONArray j1;
JSONObject或edeedetail、orderheader、main对象、main;
字符串custinstruction、brnchcode、custcode、deliverytime;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
试一试{
main=新的JSONObject(jsonstring);
Log.e(main.toString(),“string”);
j1=main.getJSONArray(“订单详细信息”);
Log.e(j1.toString(),“字符串”);

对于(int i=0;i),您的问题是?@Pragnani无法获取所有订单详细信息值。我只能获取最后一个订单详细信息值。您如何解析它。发布您的代码以便我可以帮助您。是否要将所有订单详细信息保存在ArrayList中?
 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 ;

    }


    }
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....