android解析json出错原因Bom头
2017-10-19 17:43
183 查看
google之后发现是BOM报头问题。服务器端是php,返回的接送数据’{‘前有bom报头,java读的时候把报头直接当作文件内容读,然后就会出错。
一般是服务器端代码格式的问题
java、android客户端等可以通过代码过滤掉bom,然后再解析。
不管有没有把这个方法加到解析json方法的前面去,这样可以让程序更健壮
一般是服务器端代码格式的问题
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学习——由于BOM头导致的Json解析出错
- android_由于BOM头导致的Json解析出错
- Android 由于BOM头导致的Json解析出错
- [Cannot deserialize JSON array into type] NewtonSoft.Json解析数据出错原因
- Android2.3解析json出错,4.0不报错
- Gjson解析json出错 但是不知道什么原因
- 如何处理Android2.3解析json出错,4.0不报错
- Android2.3解析json出错
- FastJson将json解析成含有泛型对象,内部泛型对象再次解析出错的解决办法(Android)
- android 流解析成json出错
- 由于BOM头导致的Json解析出错
- Android2.3解析json出错
- Android2.3解析Json出错
- eclipse编译android开源代码示范,及生成jar引用出错原因解析
- 由于BOM头导致的Json解析出错
- Android fastjson多层嵌套解析出错解决方法
- Android2.3解析json出错,4.0不报错
- Android==>JSON解析
- 解析Android平板电脑落败四大原因
- 5 Android json 解析