Ios 在NSMutableURLRequest中的post请求中发送嵌套参数

Ios 在NSMutableURLRequest中的post请求中发送嵌套参数,ios,ruby-on-rails,nsmutableurlrequest,Ios,Ruby On Rails,Nsmutableurlrequest,我有一个应用程序,当用户编辑一个对象时,它会将数据发送到RubyonRails服务器,但是我在发送post请求中的嵌套项时遇到了问题。这是我的代码: NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]]; NSString *params = [[NSString alloc] initWithFormat:@"api_key=%@&co

我有一个应用程序,当用户编辑一个对象时,它会将数据发送到RubyonRails服务器,但是我在发送post请求中的嵌套项时遇到了问题。这是我的代码:

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];

 NSString *params = [[NSString alloc] initWithFormat:@"api_key=%@&code={alpha=%@&description=%@&public=%d}", @"API_KEY", self.alpha.text, self.description.text, self.public.on];

 [request setHTTPMethod:@"POST"];
 [request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
这是我在服务器日志中看到的内容:

Parameters: {"api_key"=>"API_KEY", "code"=>"{alpha=ALPHA", "description"=>"", "public"=>"1}", "username"=>"USERNAME", "identifier"=>"IDENTIFIER"}

如何更改iOS部分,使服务器无法将该部分识别为字符串。另外,我不想对我的应用程序的某个部分使用类似ASIHTTPRequest的东西。

您需要对嵌套的参数部分进行URL转义。由于这都是文本的一部分,您可以按字面意思执行:&code=%7Balpha%%3D%%%%26description%%3D%@…@jasoncoo服务器仍然将嵌套部分视为字符串:参数:{api_key=>api_key,code=>{alpha=alpha,description=>,public=>1},用户名=>username,identifier=>identifier}