0
我有一個iOS應用程序試圖向Rails服務器發送一個post請求。請求方法的集合主體看起來像這樣。NSString dataUsingEncoding不編碼轉義引號
- (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];
您確定您的Web服務需要單個JSON字典作爲數據,而不是說字典數組嗎?關於你打印的字符串有什麼有趣的地方 - 「參數」是它將你上傳的字符串視爲一個缺少值的鍵(所以它的NULL)。 '{'之後的引號只是將所有添加的字符串作爲主體。 – 2012-07-24 23:12:11