解析本地JOSN为Null
前言
最近准备自己封装一个图文混排的控件时,解析本地的json数据为空,后面找到原因了,原来是自己不小心,手抖了一下,在json文件中多加了一个字符,导致json的格式不正确,所以解析不出来。
一、错误的josn文件
[ { "type" : "img","width" : 300,"height" : 160,"name" : "coretext-image-1.jpg"},{ "color" : "blue","content" : "更进一步地,实际工作中,我们更希望通过一个排版文件,来设置需要排版的文字的 ","size" : 16,"type" : "txt"},{ "color" : "red","content" : "内容、颜色、字体","size" : 22,"type" : "txt"},{ "color" : "black","content" : "大小等信息。\n",~"size" : 16,"type" : "txt"},{ "color" : "default","content" : "我在开发猿题库应用时,自己定义了一个基于UBB的排版模版。但是实现该排版文件的解析器要花费大量的篇幅,考虑到这并不是本章的重点,所以我们以一个较简单的排版文件来讲解其思想。","type" : "txt"},{ "type" : "img","width" : 50,"height" : 32,"name" : "coretext-image-2.jpg"},{ "color" : "default","content" : "这在这里尝试放一个参考链接:","type" : "txt"},{ "color" : "blue","content" : "链接文字","url" : "http://blog.devtang.com","type" : "link"},{ "color" : "default","content" : "大家可以尝试点击一下","type" : "txt"}
]
凭自己的肉眼很难发现哪里的格式有问题,明智的做法是把这个的josn字符串用在线解析工具校验一下,很快就能找到问题的所在。
原来是第22行处,多加了个“~”符号,导致json格式不正确,删掉即可,然后就可以解析成功了。
解析的代码如下:
NSString *path = [[NSBundle mainBundle] pathForResource:@"content" ofType:@"json"];NSLog(@"path:%@",path);NSData *data = [NSData dataWithContentsOfFile:path];NSMutableAttributedString *result = [[NSMutableAttributedString alloc] init];if (data){NSArray *array = [NSJSONSerialization JSONObjectWithData:dataoptions:NSJSONReadingAllowFragmentserror:nil];}
解析本地JOSN为Null相关推荐
- 条形码、二维码的生成与扫描、解析本地二维码
Github项目解析(十)–>几行代码快速集成二维码扫描库 - CSDN博客 http://blog.csdn.net/qq_23547831/article/details/52037710 ...
- TMG学习(四),允许内部网络解析本地主机的Netbiso名称
Web代理客户端,在IE代理服务器中填写了TMG本地主机的计算机名,而默认情况下TMG中没有开放内部网络可以解析本地主机的计算机名,因此IE代理客户端无法进行上网,如下图所 为了解决这个问题,我们只需 ...
- c 本地html解析,使用selenium解析本地HTML文件方法
import requests import time """ 经验总结: 1.使用selenium解析本地HTML文件方法, browser.get("fil ...
- flutter解析本地json数组
解析如下代码:如果不知道如何添加本地json的,可以看我另外一篇文章flutter 解析本地json rootBundle.loadString("images/list.json" ...
- Zookeeper源码解析 -- 本地事务日志持久化之FileTxnLog
序言 在各个分布式组件中,持久化数据到本地的思想并不少见,为的是能保存内存中的数据,以及重启后能够重载上次内存状态的值.那么如何行之有效的进行,内存数据持久化到磁盘,怎么样的落盘策略合适,怎么设计持久 ...
- java解析本地.geoJson地理信息,根据经纬度找到所在区域(全程Chatgpt3.5交互写代码,附gpt交流记录)
1:起因 对于一些因为安全等级而不连通外网的服务器,客户提出了根据本地.geoJson文件获取区域地理信息,根据用户提供的经纬度x,y坐标,找到这个点所在的区域 2:思路 根据.geoJson文件中连 ...
- python读取本地文件-python解析本地HTML文件
Python使用爬虫技术时,每运行一次,本地都会访问一次主机.为避免完成程序前调试时多次访问主机增加主机负荷,我们可以在编写程序前将网页源代码存在本地,调试时访问本地文件即可.现在我来分享一下爬取资料 ...
- Git之深入解析本地仓库的基本操作·仓库的获取更新和提交历史的查看撤销以及标签别名的使用
一.获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 将尚未进行版本控制的本地目录转换为 Git 仓库: 从其它服务器克隆一个已存在的 Git 仓库. 两种方式都会在本地机器上得到一个工作 ...
- 网站域名解析端口_环境测试必备,无需注册域名,免费动态IP解析一键解析本地网站...
localtunnel是基于Nodejs 开发的一个工具,开发者同时提供了Go语言版本. 这个工具可以提供给你一个随机生成的二级域名,动态域名解析到你执行这个命令的服务器上,可以将域名解析到指定端口上 ...
最新文章
- luogu_2107【题解】
- 《不只是美:信息图表设计原理与经典案例》—— 2.5 功能限制形式
- QT的QSGGeometryNode类的使用
- CSS3的background-size:设置背景图片大小
- Spring中使用Spark连接的DataSource
- 云服务器的优点和缺点_为什么要使用云计算? 的优点和缺点
- api报错 javaee maven_maven test 换javaee6 无法加载spring的配置文件 ?报错-问答-阿里云开发者社区-阿里云...
- C语言预处理命令分类和工作原理
- centos7 安装redmin3.3.0+postgresql数据库
- dedecms漏洞getshell EXP最新可用
- mysql挂科了咋办_大学第一学期挂科怎么办?
- android同一个activity中传递参数,Android中Activity之间跳转和参数传递的实例
- win10桌面简洁化(自定义鼠标右键菜单)
- 期待了1年多了《黑客攻防实战编程》终于面世了!
- h5 Table表格
- 431. 将 N 叉树编码为二叉树(树+二叉树 相互转化)
- 实验五|Python 企业获利能力分析
- android 前摄屏幕补光,移动终端的前置摄像头的补光方法及装置与流程
- Microsoft visual studio关闭安全检查的几种方法(2015/2017)
- Android中jsoup的混淆规则
热门文章
- 盘点私域流量的那4种商业模式!
- 王岚老师计算机,学党史丨计算机与信息工程学院、软件学院组织退休教师到校史馆参观学习...
- 死磕算法第二弹——栈、队列、链表(2)
- 华为鸿蒙系统荣耀X10,华为也分三六九等,3款机型才是正确选择,全都能升级鸿蒙系统...
- WebShell是什么?如何抵御WebShell?
- 7nm芯片在路上,AMD又倒逼英特尔?
- 数据结构【链式前向星】
- 3.通过Opencv读取和保存图片
- 房地产专家眼中的2015年下半年房价走势
- nginx做小程序外链跳转_小程序如何做外部链接跳转