簡體   English   中英

如何將json值從數組傳遞到字典?

[英]How to give json values from array to dictionary?

我在其存儲的json值中有數組。當我嘗試將此值賦予字典其給定的錯誤時。

 arrhole{
        "cust_groups" = "";
        "customer_id" = 1;
        "customer_name " = "";
        "date_added" = "<null>";
        "delivery_method" = "";
        fname = kishore;
        gift = "";
        lname = kumar;
        message = "";
        month = "";
        "order_id" = 1;
        "pay_method" = "";
        "payment_firstname" = "";
        "payment_lastname" = "";
        phone = 9043563659;
        region = "";
        reward = "";
        "scheduled_date" = "28/08/2015";
        "sen_email" = "";
        "sen_name" = "";
        "shipping_city" = "";
        "shipping_company" = "";
        "shipping_country" = IND;
        "shipping_region" = 1503;
        "unit_price" = 22;
        voucher = "";
    }

我使用的這段代碼:

 -(void)responseFunction:(NSMutableDictionary *)response
    {
        NSLog(@"response method%@",response);
        BOOL success;
        success =[[response objectForKey:@"success"] boolValue];
        arrHoleOrderDetails =[response objectForKey:@"order"];
        NSLog(@"arrhole%@",arrHoleOrderDetails);
        if(success)
        {
            for (NSDictionary *dic in arrHoleOrderDetails)
            {

                NSLog(@"dic===%@",dic);
            }
        }

OUTPUT:

dic===city
 dic===shipping_address
 dic===shipping_lastname
 dic===pay_method
 dic===customer_id
 dic===country
 dic===region

像這樣,它顯示在我的log.i中,此處僅顯示一些值。

1.是json響應問題嗎?

2.還是我愚蠢的錯誤?

完整回應:

 order =     {
        address = "";
        address1 = "";
        address2 = "";
        affliate = "";
        amount = "";
        city = "";
        comment = "";
        company = "";
        "company_id" = "";
        country = "";
        coupon = "";
        "cust_groups" = "";
        "customer_id" = 2;
        "customer_name " = "";
        "date_added" = "<null>";
        "delivery_method" = "";
        email = "";
        fax = "";
        fname = arun;
        gift = "";
        lname = "";
        message = "";
        month = "";
        "order_id" = 2;
        "pay_method" = "";
        "payment_firstname" = "";
        "payment_lastname" = "";
        phone = "";
        postcode = "";
        product = 4;
        quantity = 5;
        "rec_email" = "";
        "rec_name" = "";
        region = "";
        reward = "";
        "scheduled_date" = "28/08/2015";
        "sen_email" = "";
        "sen_name" = "";
        "shipping_address" = "";
        "shipping_address1" = "";
        "shipping_address2" = "";
        "shipping_city" = "";
        "shipping_company" = "";
        "shipping_country" = "";
        "shipping_firstname" = "";
        "shipping_lastname" = "";
        "shipping_postcode" = "";
        "shipping_region" = "";
        status = "";
        stores = "";
        total = "";
        "unit_price" = 540;
        voucher = "";
    };
    success = 1;
}

嘗試以下代碼

   -(void)responseFunction:(NSMutableDictionary *)response
        {
            NSLog(@"response method%@",response);
            BOOL success;
            success =[[response objectForKey:@"success"] boolValue];
            arrHoleOrderDetails =[response objectForKey:@"order"];
            NSLog(@"arrhole%@",arrHoleOrderDetails);
            if(success)
            {
                yourlable.text = [arrHoleOrderDdetails valueForKey:@"address"];
                yourlabel2.text = [arrHoleOrderDdetails valueForKey:@"address1"];

//In case of integer value try following
yourlbl3.text = [NSString stringWithFormat:@"%d",[arrHoleOrderDdetails valueForKey:@"address1"]];

    //go ahead in same manner.

    }

那應該工作:

if(success)
{
    //display all keys and values
    for (NSString* key in [arrHoleOrderDetails allKeys])
    {
        NSString* value = [arrHoleOrderDetails objetForKey:key];
        NSLog(@"%@===%@",key, value);
    }

    //access single value
    NSLog(@"%@", arrHoleOrderDetails[@"scheduled_date"]);
}

如果迭代NSDictionary,則需要迭代鍵並獲取給定鍵的值。 還請記住,NSDictionaries是隨機訪問的-沒有任何順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM