美文网首页
关于AFNetWorking提交json崩溃问题

关于AFNetWorking提交json崩溃问题

作者: 阿两sama | 来源:发表于2017-12-15 11:23 被阅读46次

    错误信息如下

    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '***+[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write'. *** First throw call stack

    先说解决办法

    session.requestSerializer = [AFJSONRequestSerializer serializer];

    只要这一段,并不需要设置content-type。我感觉是af自动会帮我们设置

    session为

    AFHTTPSessionManager *session = [AFAppDotNetAPIClient sharedManager];

    要注意一下,传的参数需要是NSDictionary,因为如果传nsstring或者nsdata,afn在解析的时候就会出现没有key值的问题,也就是一开始的错误

    ===============分割线================

    解决过程我一开始用postman测试是发现Content-Type→application/json;charset=UTF-8

    然后就一直设置如下这段

    [session.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

    加上之后就是一直报开头的错误

    一开始我以为是传了jsonstring的关系,后来我换成了jsondata,还是不行,原因的话前面说了就是没有key的话afn不能识别json类型。

    最后就是改成NSDictionary,完美通过。

    这个我往上没有找到解决办法,记一下

    相关文章

      网友评论

          本文标题:关于AFNetWorking提交json崩溃问题

          本文链接:https://www.haomeiwen.com/subject/mabrwxtx.html