解析本地JOSN为Null

原创 2015年07月07日 10:19:59
前言
     

      最近准备自己封装一个图文混排的控件时,解析本地的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:data
                                                         options:NSJSONReadingAllowFragments
                                                           error:nil];
    }


Gson 的简单封装,避免解析null时报错

当我们使用gson进行数据解析的时候,我们通常会发现有时候解析String字符串类型但是后台返回的是null 因此我们要对此进行特殊处理,下面便是对gson的一些简单封装。public static ...
  • GL_MINE_CSDN
  • GL_MINE_CSDN
  • 2017年03月02日 20:23
  • 1647

josn解析

作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式...
  • chy326545876
  • chy326545876
  • 2015年02月21日 18:02
  • 178

混淆之后Gson解析返回的数据为null

在发版本之际,测试时发现请求下来的数据无法正常显示,最后确定时Gson没有解析成功,加上官网的混淆也不行。 最后发现需要将最后一句话改为自己的实体类 class 后方到**签名的 这一...
  • TuiBianSoar
  • TuiBianSoar
  • 2016年05月13日 17:12
  • 1124

Json字符串解析不了,解析对象为null

创建Json对象,放入数据之后转换为字符串传递,解析的时候有的时候解析不了,例如:直接创建Json对象,或利用jsontoker都获取不了json对象。Json字符串解析的时候,当json对象中放入了...
  • qiuhaipeng1
  • qiuhaipeng1
  • 2015年12月15日 09:10
  • 1168

JSON解析 null处理

使用的JSON包为json-lib-2.2.3-jdk15.jar。 需解析的JSON串:{"myCancerGenome":[],"aminoAcidChange":null,"normalRef...
  • tangtang0325
  • tangtang0325
  • 2016年05月27日 11:03
  • 1174

dom4j使用XPath解析XML返回null的解决方法

使用XPath解析XML的时候,在基本代码没有写错的情况下,使用selectSingleNode()方法获取xml的内容时返回null值,很有可能是因为xml设置了命名空间。 1)在没有命名空间的情况...
  • Jexhen
  • Jexhen
  • 2017年04月20日 11:21
  • 956

Android JSONObject对null的处理

最近在做Android APP时,发现一个问题:服务器从数据库读取相关信息后封装成JSONObject发送给客户端,客户端解析后显示。 但是客户端解析时发现执行到某条:Textview.setText...
  • u014594922
  • u014594922
  • 2016年04月15日 16:29
  • 4577

关于android 的org.json类JsonObject解析值为null的出现的问题

相信org.json包下的jsonObject有些人比较熟悉了,它是android原生的json解析类,先看下org.json 包的结构,比较简单: 今天在用这个对象注意到了这个问题:在对服务...
  • u013450131
  • u013450131
  • 2016年03月14日 23:58
  • 1801

解析NULL 为 空字符

https://www.baidu.com/s?wd=JSON%20document%20was%20not%20fully%20consumed.&rsv_spt=1&rsv_iqid=0x92fd...
  • leeleedream
  • leeleedream
  • 2017年11月27日 22:48
  • 19

android BitmapFactory.decodeFile()返回为null问题

BitmapFactory.decodeFile()返回为null原因有多种, 其中一种为使用的图片太大导致内存暴掉,可以修改为以下这种方案: BitmapFactory.Options ...
  • xfnjlove
  • xfnjlove
  • 2014年02月19日 14:31
  • 10136
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解析本地JOSN为Null
举报原因:
原因补充:

(最多只允许输入30个字)