Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何通过AFNetWorking 2.0将JSON格式的数据发送到web?_Ios_Json_Post_Afnetworking 2 - Fatal编程技术网

Ios 如何通过AFNetWorking 2.0将JSON格式的数据发送到web?

Ios 如何通过AFNetWorking 2.0将JSON格式的数据发送到web?,ios,json,post,afnetworking-2,Ios,Json,Post,Afnetworking 2,我需要发送我的登录名并通过POST以JSON格式的数据变量传递给web服务器 我试过: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *params = @{@"email" : email, @"password" : pass }; manager.requestSerializer = [AFJSONRequestSerializer serial

我需要发送我的登录名并通过POST以JSON格式的数据变量传递给web服务器 我试过:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *params = @{@"email" : email, @"password" : pass };
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:URLString parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:
 ^(AFHTTPRequestOperation *operation, NSError *error) {
     NSLog(@"Error: %@", error); }];
但是:

Data = "<null>";
Message = "unexpected end of JSON input";
Result = fail;
Data=”“;
Message=“JSON输入意外结束”;
结果=失败;

您需要将字典转换为JSON对象。Atm通过参数发送字典将不起作用,因此会出现错误

考虑使用SBJson库,它可以将字典转换为JSON字符串对象,还可以将JSON字符串再次解析为字典

然后,您只需包含头文件,如下所示:

#import "SBJson.h
NSDictionary *params = @{@"email" : email, @"password" : pass };
NSString *jsonString = [params JSONRepresentation];
//and then you send the jsonString as the params
然后,您将能够在字典上使用category方法,如下所示:

#import "SBJson.h
NSDictionary *params = @{@"email" : email, @"password" : pass };
NSString *jsonString = [params JSONRepresentation];
//and then you send the jsonString as the params

@罗布,天哪,原来是同一个人?在研究这个问题时,我遇到了另外两个问题,它们看起来和这个问题完全一样,但标题不同,所以我没怎么想!哇,恶心。AFNetworking(使用
requestSerializer
)为他进行JSON转换。AFNetworking采用的是
NSDictionary
,而不是JSON。(即使他必须自己进行JSON转换,现在人们通常会推荐内置的
NSJSONSerialization
,而不是第三方JSON库,除非你必须支持iOS 4.x。)@Rob Oh wow!AF2.0的结果是什么?对我来说,重新考虑更新所有客户端应用程序的AFNetworking库还有什么好处吗?!AFNetworking虽然并不完美,但确实简化了复杂的网络代码。它有很多奇妙的特性(其中JSON转换可能是最次要的特性之一)。这绝对值得一看。仅供参考,AFNetworking 2.0仅支持iOS 6及更高版本(如果您需要iOS 5支持,请使用AFNetworking 1.x)。@Rob我问的是AFNetworking 2.0,我已经实现了AFNetworking 1.x。我的所有客户端应用程序都已更新为iOS7.Ah。AFNetworking 1.x也为您进行了JSON转换。无论如何,从1.x到2.0的改进没有那么引人注目,所以我不确定您是否需要运行并立即重构代码。也许你可以看看这本书。