AFNetworking - 带JSON参数的POST方法:var = {JSON}

时间:2013-03-23 10:53:39

标签: ios json post parameters afnetworking

我正在使用接受像这样的

的POST方法的网络服务

KEY d ; VALUE {JSON REQUEST}

例如

(登录):

  

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

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

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分: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以确保您已获得正确的数据,并且问题不在其他地方。