我有一个 iOS 应用程序试图向 Rails 服务器发出发布请求。请求方法的集合体如下所示。
- (void)setBody:(NSString *)body{
requestString = body;
NSLog(@"request string: %@",requestString);
[request setHTTPBody:[requestString dataUsingEncoding:NSUTF8StringEncoding]];
}
当我检查日志中的请求字符串时,我看到它正确输出为:
{"commit":"Create Order","order":{"price":"1","street_address":"(null)","state":"(null)","country":"USA","city":"(null)","zipcode":"(null)"}}
但是,当数据到达我的 Web 应用程序时,我得到的是原始的未转义引号。
Parameters: {"{\"commit\":\"Create Order\",\"order\":{\"price\":\"1\",\"street_address\":\"(null)\",\"state\":\"(null)\",\"country\":\"USA\",\"city\":\"it\",\"zipcode\":\"(null)\"}}"=>nil}
我怀疑这是一个 Rails 问题,尽管它可能是一种可能性。
有什么建议么?
原始字符串在别处声明为
NSString *order = [NSString stringWithFormat:@"{\"commit\":\"Create Order\",\"order\":{\"price\":\"%@\",\"street_address\":\"%@\",\"state\":\"%@\",\"country\":\"%@\",\"city\":\"%@\",\"zipcode\":\"%@\"}}",@"1",streetAddressFieldText,stateFieldText,@"USA",cityFieldText,zipFieldText];