1. 云栖社区>
  2. PHP教程>
  3. 正文

android解析json出错原因Bom头

作者:用户 来源:互联网 时间:2017-11-30 18:27:27

androidjsonbom出错解析原因

android解析json出错原因Bom头 - 摘要: 本文讲的是android解析json出错原因Bom头, google之后发现是BOM报头问题。服务器端是php,返回的接送数据’{‘前有bom报头,java读的时候把报头直接当作文件内容读,然后就会出错。 一般是服务器端代码格式的问题 BOM报头又叫UTF-8签名,其实UTF-8 的BOM对

google之后发现是BOM报头问题。服务器端是php,返回的接送数据’{‘前有bom报头,java读的时候把报头直接当作文件内容读,然后就会出错。
一般是服务器端代码格式的问题

BOM报头又叫UTF-8签名,其实UTF-8  的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器 识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,一般的php代码如果用记事本等软件编辑保存过之后,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB  0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。(还不清楚为什么会在返回数据时候也自动加上了BOM报头)。

java、android客户端等可以通过代码过滤掉bom,然后再解析。

/** * 去除bom报头 */public static String formatString(String s) {if (s != null) {      s = s.replaceAll("/ufeff", "");}return s;}

不管有没有把这个方法加到解析json方法的前面去,这样可以让程序更健壮

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android , json , bom , 出错 , 解析 原因 ,以便于您获取更多的相关知识。