如何在iOS中嵌套两个键以进行API调用

如何在iOS中嵌套两个键以进行API调用,ios,objective-c,ruby-on-rails,json,api,Ios,Objective C,Ruby On Rails,Json,Api,这是我如何发布到API的: curl-v-H'内容类型:application/json'-H'接受:application/json'-X POSThttp://sub.domain.com/api/v1/sections.json -d“{\”节\“:{\”属性\“:{\”电子邮件\“:\”example@email.com\“,”部门“:”dpt123“,”电话号码“:”55578912“}}}}}” 我尝试使用以下代码来实现这一点: NSString *strurl=@"http://s

这是我如何发布到API的:

curl-v-H'内容类型:application/json'-H'接受:application/json'-X POSThttp://sub.domain.com/api/v1/sections.json -d“{\”节\“:{\”属性\“:{\”电子邮件\“:\”example@email.com\“,”部门“:”dpt123“,”电话号码“:”55578912“}}}}}”

我尝试使用以下代码来实现这一点:

NSString *strurl=@"http://sub.domain.com/api/v1/sections.json";
NSURL *url=[NSURL URLWithString:[strurl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableDictionary *dict=[[NSMutableDictionary alloc] init];


[dict setValue:phoneTxt.text forKey:@"phone_number"];
[dict setValue:emailTxt.text forKey:@"email"];
[dict setValue:departmentTxt.text forKey:@"department"];
ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url];


NSDictionary *sectionDic = [NSDictionary dictionaryWithObjectsAndKeys:dict, @"properties", nil];

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:sectionDic, @"section",nil];

SBJsonWriter *jsonWriter = [[SBJsonWriter alloc] init];
NSString *params = [jsonWriter stringWithObject:dic];

NSLog(@"param----%@",params);
[request setPostValue:params forKey:@"properties"];


[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request startAsynchronous];
但我得到的答复如下:

参数:
{“section”=>“{\“properties\”:{\“department\”:“dpt123\”,“email\”:\”example@email.com\“,”电话号码“:\”55578912\“}}}}

它给我这个错误,因为它的属性是字符串:

NoMethodError(未定义的方法“stringify#keys”用于#)


如何使用节和属性作为键发布。非常感谢您的帮助。

您调用了错误的方法来创建字典
sectionDic
dic
dictionaryWithObjectsAndKeys:
希望对象和键都使用数组。相反,尝试

NSDictionary *sectionDic = @{@"properties": dict};
NSDictionary *dic = @{@"section":sectionDic};