全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS json解析出错的几种情况总结

iOS json解析出错

对于json格式,我们并不陌生,但是因为它处于不同的语言标准也不一致。分享一下最近项目出现的json问题:

1、编码问题,在不清楚服务端的编码格式的情况下,我直接使用:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]; 
NSError *error = nil; 
NSArray *arr = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error]; 

结果发现data是有数据的,但是arr是nil,找到error:The operation couldn't be completed. (Cocoa error 3840.)后来问了一下后台开发,因为存在中文,他采用了GBK编码,通过搜索uft8转gbk找到了答案:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]; 
NSError *error = nil; 
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); 
NSString *dataString = [[NSString alloc] initWithData:data encoding:enc]; 
NSData *utf8Data = [dataString dataUsingEncoding:NSUTF8StringEncoding]; 
NSArray *arr = [NSJSONSerialization JSONObjectWithData:utf8Data options:NSJSONReadingMutableContainers error:&error]; 

2、json非标准格式:(比如json数据存在\n \r \t 等制表符)阅读原文

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]; 
NSError *error = nil; 
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); 
NSString *dataString = [[NSString alloc] initWithData:data encoding:enc]; 
//json数据当中没有 \n \r \t 等制表符,当后台给出有问题时,我们需要对json数据过滤 
 dataString = [dataString stringByReplacingOccurrencesOfString:@"\r\n" withString:@""]; 
 dataString = [dataString stringByReplacingOccurrencesOfString:@"\n" withString:@""]; 
 dataString = [dataString stringByReplacingOccurrencesOfString:@"\t" withString:@""]; 
 
NSData *utf8Data = [dataString dataUsingEncoding:NSUTF8StringEncoding]; 
NSArray *arr = [NSJSONSerialization JSONObjectWithData:utf8Data options:NSJSONReadingMutableContainers error:&error]; <span style="font-family: Arial, Helvetica, sans-serif;"> </span> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# iOS  # json解析出错  # json解析出现错误总结  # json解析出错解决办法  # iOS中json解析出现的null  # nil  # NSNumber的解决办法  # IOS中Json解析实例方法详解(四种方法)  # iOS开发使用JSON解析网络数据  # 详解iOS开发中解析JSON中的boolean类型的数据遇到的问题  # IOS 简单的本地json格式文件解析的实例详解  # IOS json 解析遇到错误问题解决办法  # IOS开发之JSON转PLIST实例详解  # iOS Swift读取本地json文件报错的解决方法  # 谈谈iOS开发之JSON格式数据的生成与解析  # iOS读写json文件的方法示例  # 是有  # 不清楚  # 希望能  # 采用了  # 因为它  # 问了  # 谢谢大家  # 服务端  # 非标准  # 情况下  # 找到了  # NSJSONSerialization  # arr  # error  # NSArray  # NSJSONReadingMutableContainers  # operation  # options  # amp 


相关文章: 佛山企业网站制作公司有哪些,沟通100网上服务官网?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何选择高效稳定的ISP建站解决方案?  如何在阿里云购买域名并搭建网站?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  XML的“混合内容”是什么 怎么用DTD或XSD定义  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  如何快速搭建高效简练网站?  学校为何禁止电信移动建设网站?  简单实现Android验证码  建站之星后台密码如何安全设置与找回?  如何通过远程VPS快速搭建个人网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  制作旅游网站html,怎样注册旅游网站?  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何在IIS中新建站点并配置端口与IP地址?  SQL查询语句优化的实用方法总结  湖北网站制作公司有哪些,湖北清能集团官网?  如何通过FTP服务器快速搭建网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  三星网站视频制作教程下载,三星w23网页如何全屏?  香港服务器租用每月最低只需15元?  长沙企业网站制作哪家好,长沙水业集团官方网站?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何用PHP快速搭建高效网站?分步指南  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  图册素材网站设计制作软件,图册的导出方式有几种?  如何注册花生壳免费域名并搭建个人网站?  微信小程序 五星评分(包括半颗星评分)实例代码  已有域名如何免费搭建网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  无锡营销型网站制作公司,无锡网选车牌流程?  建站之星下载版如何获取与安装?  c# await 一个已经完成的Task会发生什么  黑客如何通过漏洞一步步攻陷网站服务器?  定制建站是什么?如何实现个性化需求?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  广州美橙建站如何快速搭建多端合一网站?  英语简历制作免费网站推荐,如何将简历翻译成英文?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  建站之星备案是否影响网站上线时间?  建站之星价格显示格式升级,你的预算足够吗?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何高效搭建专业期货交易平台网站?  ui设计制作网站有哪些,手机UI设计网址吗?  北京企业网站设计制作公司,北京铁路集团官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。