Objective C + Reskit – 如何用密钥包装我的字典以避免格式化问题?

我正在尝试用密钥包装我的HTTP POST请求。 换句话说,我想转此:

{ "category_id"=>"1", "food_name_token"=>"Pizza", "id"=>"1" } 

进入这个:

 { "dish" => { "category_id"=>"1", "food_name_token"=>"Pizza", "id"=>"1" } } 

我尝试在RestKit中使用’rootKeyPath’方法:

 serializationMapping.rootKeyPath = @"dish"; 

但这给了我这个奇怪的格式化字符串:

 { "dish"=> "{ \n \"category_id\" = 1; \n \"food_name_token\" = Pizza; \n id = 1; \n} "} 

它使用等号和分号代替箭头和逗号,并添加所有这些换行符和转义反斜杠。

知道为什么吗? 关于我能做什么的任何建议?

PS我正在使用Rails后端

 NSDictionary *rootDictionary = [NSDictionary dictionaryWithObject:childDict forKey:@"dish"]; 

这应该解决它。

我发现使用Restkit我可以使用括号包装属性:

  [dishMapping mayKeyPath:@"dish[food_name_token]" toAttribute:@"placeToken"]; 

这给了我一个正常的输出,没有奇怪的格式。

将项添加到NSArray中,然后将数组添加到NSDictionary中,如下所示:

 NSDictionary *item = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObject:results], @"Parent",nil]; NSLog(@"NSDicitonary %@",item); NSLog(@"Child values %@",[item valueForKey:@"Parent"]);