我必須準備一個序列化字典,然後將其發佈到服務器。 Dictionary可能有其他幾個字典作爲@「items」鍵的值。但有些括號會中斷。和服務器響應我一個錯誤的HTML。將字典添加到nsdictionary作爲密鑰的值
NSMutableArray *a = [[NSMutableArray alloc]init];
for(int i = 0; i < [self.cartCopy count]; i++) {
NSString *itemNumber = [NSString stringWithFormat:@"%d", i + 1];
NSDictionary *tempDict = @{ itemNumber : @{
@"item_id" : [[self.cartCopy objectAtIndex:i]objectForKey:@"id"],
@"quantity" : [[self.cartCopy objectAtIndex:i]objectForKey:@"quantity"],
@"type" : [[self.cartCopy objectAtIndex:i]objectForKey:@"type"],
@"color_id" : @"0",
}
};
[a addObject:tempDict];
}
NSDictionary *dict = @{
@"date":oDate,
@"address":oAddress,
@"name":oName,
@"shipping_date":oShippingDate,
@"receiver_phone":oReceiverPhone,
@"customer_phone":oCustomerPhone,
@"total_price": oTotalPrice ,
@"additional_info": @"asd",
@"items": a
};
UPDATE:我的字符串的NSLog後[NSJSONSerialization dataWithJSONObject:字典選項:kNilOptions錯誤:零]:
{"address":"asd",
"name":"asd",
"receiver_phone":"123",
"customer_phone":"123",
"total_price":"1",
"date":"2013-03-05 21:22:55",
"additional_info":"asd",
"items":[
{"1":{
"type":"2",
"color_id":"0",
"item_id":10,
"quantity":"3"
}
},
{"2":{
"type":"1",
"color_id":"0",
"item_id":74,
"quantity":"3"
}
}
],
"shipping_date":"2030-03-03 12:12:12"
}
我想原因是方括號。我如何刪除它們?
例如,它與字典工作完美:
NSDictionary *dict = @{
@"date":oDate,
@"address":oAddress,
@"name":oName,
@"shipping_date":oShippingDate,
@"receiver_phone":oReceiverPhone,
@"customer_phone":oCustomerPhone,
@"total_price": oTotalPrice ,
@"additional_info": @"asd",
@"items": @{
@"1":@{
@"type":@"1",
@"color_id":@"0",
@"item_id":@"1",
@"quantity":@"1"
},
@"2":@{
@"type":@"1",
@"color_id":@"0",
@"item_id":@"1",
@"quantity":@"1"
}
}
};
你遇到了什麼問題? – Ares 2013-03-05 14:57:25
如何刪除干擾括號。我更新了問題 – Asike 2013-03-05 15:00:16
方括號表示一個數組。您需要與服務器開發人員進行溝通,以瞭解他們需要的JSON格式。格式將是數據的名稱(鍵)和數據類型(值)的列表。 – Fogmeister 2013-03-05 15:46:13