如何在ios中创建json对象
我想将json格式的值发布到服务器上,但我仍然坚持使用json格式。我在谷歌上搜索了很多,但仍然没有得到确切的格式如何在ios中创建json对象,ios,objective-c,json,Ios,Objective C,Json,我想将json格式的值发布到服务器上,但我仍然坚持使用json格式。我在谷歌上搜索了很多,但仍然没有得到确切的格式 { "accountId": "14", "order_items": [ { "item_id": "5", "quantity": "4 Kg", "price": " 69.99" }, { "item_id": "6", "quan
{
"accountId": "14",
"order_items": [
{
"item_id": "5",
"quantity": "4 Kg",
"price": " 69.99"
},
{
"item_id": "6",
"quantity": "6 Kg",
"price": " 79.99"
}
]
}
我尝试了以下代码:
NSDictionary *dict=@{@"item_id" : itemide,
@"quantity" : @"10",
@"price" : @"100"};
NSDictionary *dictionary = @{@"accountId" : @"14",
@"order_items" : dict};
NSError *error;
NSData *postData = [NSJSONSerialization dataWithJSONObject:dictionary
options:0
error:&error];
if (error)
NSLog(@"Failure to serialize JSON object %@", error);
NSURL *url = [NSURL URLWithString:@"http://api.lococo.in/orders"];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:180.0];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"AGDHFGH243SFS" forHTTPHeaderField:@"X-Auth-User"];
[request setValue:@"abcgdg#dg" forHTTPHeaderField:@"X-Auth-Token"];
[request setHTTPBody:postData];
请帮帮我。如何以上面的格式获取它?试试这个
NSDictionary *dict=@{@"item_id" : itemide,
@"quantity" : @"10",
@"price" : @"100"};
NSDictionary *dictionary = @{@"accountId" : @"14",
@"order_items" : dict};
NSError *error;
NSData *data = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:&error];
id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
必须为数组赋值 试试这个:
NSDictionary *dict=@{@"item_id" : itemide,
@"quantity" : @"10",
@"price" : @"100"};
NSMutableDictionary *dictionary = @{@"accountId" : @"14"};
[dictionary setObject:arrayContainer forKey:@"order_items"];
NSMutableArray *arrayContainer = [NSMutableArray array];
[arrayContainer addObject:dict];
缺少order_items是一个数组
NSDictionary* item1 = @{ @"item_id": @"5", @"quantity": @"4 Kg", @"price": @" 69.99" };
NSDictionary* item2 = @{ @"item_id": @"6", @"quantity": @"6 Kg", @"price": @"79.99" };
NSArray* orderItems = @[item1, item2];
NSDictionary* order = @{ @"accountId": @"24", @"order_items": orderItems };
这就是您传递给NSJSONSerialization的内容 如何使用它获取多个值请告诉我提供了什么id,因为我尝试了你的代码,它在setObject上崩溃了