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小时内与您取得联系。