1

このような POST メソッドを受け入れる Web サービスを使用しています

キー d ; 値 {JSON リクエスト}

例(ログイン):

d={ "action": [ "login" ], "request_data": { "login": { "user": "user", "password": "password" } } }

AFHTTPClient を使用すると、サーバーは「d」パラメータを見つけられません。すべてのパラメーターを使用して辞書を作成し、NSJSONSERIALIZE を介してシリアル化してから、すべてを NSMutabliDictionary *parmas にキー値 @"d"、[httpClient postPath[....] ] に渡すパラメーターでラップしようとしましたが、成功しませんでした. どのようにできるのか?

4

2 に答える 2

0

JSON文字列を探しています。私はあなたの質問の最後の数文を理解するのに少し問題があります(あなたはステップをあまり明確に説明していません)が、基本的に:

//Create your params
NSDictionary *parametersDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                                                    yourData, @"action",
                                                                    someMoreData, @"request_data", nil];

NSString *parametersJSONString = [parametersDictionary JSONString];

NSDictionary *parametersToSend = [NSDictionary dictionaryWithObject:parametersJSONString forKey:@"d"];

そして、あなたは行ってもいいはずです。JSONStringJSONKitが必要であることに注意してください。また、送信する前にデバッグ/ログを記録parametersToSendして、正しいデータがあり、問題が他の場所にないことを確認してください。

于 2013-03-23T19:01:59.080 に答える
0
NSString *jsonString  = @"YourStringFromServer";
NSDictionary *temDic = [jsonString JSONValue]; // convert string Value to JSON and add it to Dictionary.
NSlog(@"%@",temDic);// set specific key for specific value.
于 2013-03-23T11:01:29.677 に答える