1

我正在使用一个接受这样的 POST 方法的网络服务

关键d; 值 {JSON 请求}

例如(登录):

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

如果我使用 AFHTTPClient,则服务器找不到任何“d”参数。我尝试使用所有参数创建字典,通过 NSJSONSERIALIZE 序列化,然后将所有内容包装在 NSMutabliDictionary *parmas 中,键值对 @"d",参数传递给 [httpClient postPath[....]] 但没有成功. 我能怎么做?

4

2 回答 2

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 回答
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"];

你应该很高兴。注意JSONString需要 JSONKit。此外,在发送之前调试/记录parametersToSend以确保您获得正确的数据并且问题不在其他地方。

于 2013-03-23T19:01:59.080 回答