Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
如何在ios中创建json对象_Ios_Objective C_Json - Fatal编程技术网

如何在ios中创建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

我想将json格式的值发布到服务器上,但我仍然坚持使用json格式。我在谷歌上搜索了很多,但仍然没有得到确切的格式

{

    "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上崩溃了