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"]);