码迷,mamicode.com
首页 > Web开发 > 详细

关于JSON解析的深坑之BOM头

时间:2016-07-03 23:47:15      阅读:474      评论:0      收藏:0      [点我收藏+]

标签:json解析   bom头   

    前言:在我们对Json字符串进行处理时,往往会碰到这个问题org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject,解析服务器返回的Json串时,JSONObject对象抛出了这个异常。其实这是返回的Json字符串含有BOM头导致的。


本人手拙,写的不好。望各位大虾见谅!!!


什么是JSON? 

   JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、 Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

什么是bom头?

    在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了。

去掉bom头的办法:

     1、editplus去BOM头的方法
        编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。
        运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名,
        然后对PHP文件编辑和保存后的PHP文件就是不带BOM的了。

    2、ultraedit去除bom头办法
        打开文件后,另存为选项的编码格式里选择(utf-8 无bom头),确定就ok了


使用JSON也差不多一年了,前前后后也遇到过几次莫名其妙的解析出错!原因就是因为在utf-8中生成的JSON文件带有BOM头

例如下面这张图片的这段JSON

技术分享

    本人菜鸟一枚,望各位大虾轻噴~谢谢各位!!!

原文链接:http://www.echohoo.com/?post=515

本文出自 “11105560” 博客,请务必保留此出处http://11115560.blog.51cto.com/11105560/1795299

关于JSON解析的深坑之BOM头

标签:json解析   bom头   

原文地址:http://11115560.blog.51cto.com/11105560/1795299

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!