ネストされたパラメータの情報をレールアプリに投稿しようとすると問題が発生する。ASIHTTPRequestを使用してNSDictionaryを使用してネストされたパラメータをPOSTする
#pragma mark - Begin Network Operations
- (void)beginNetworkOperation {
NSURL *requestURL = [NSURL URLWithString:[self retrieveURL]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:requestURL];
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
[request setShouldContinueWhenAppEntersBackground:YES];
#endif
[request setRequestMethod:@"PUT"];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request addPostValue:strClientId forKey:@"client_id"];
[request addPostValue:strAccessToken forKey:@"access_token"];
NSDictionary *assetDictionary = [NSDictionary dictionaryWithObject:self.tags forKey:@"tags"];
[request addPostValue:assetDictionary forKey:@"asset"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestFinished:)];
[request setDidFailSelector:@selector(requestFailed:)];
[request startSynchronous];
}
self.tagsしかしながら回(paramsは[:資産] [:タグ])タグパラメータを読み取ることができないレールサーバに到着、カンマ区切り値を持つだけNSStringのです。
[addPostValue:[assetDictionary JSONRepresentation] forKey:@ "asset"]をリクエストすることでこれを試しました。とレールサーバー "TypeError(整数にシンボルを変換することはできません)"で本当に意味がないように同じエラーが発生します.... – Kyle
多分それはあなたの文字列の昏睡状態のため、昏睡のためですJSONのセパレータ。 あなたの刺し傷の昏睡状態を何か別のものに置き換えてみましょう。-stringByReplacingOccurrencesOfString:withString: – MatLecu
私のテストデータにはまだカンマが含まれていません。 – Kyle