前端时间搞个json数据传输后,在android端显示,在4.0调试好的代码,在android2.2上就解码异常,但是我看打印的数据日没问题,后来才发现服务端编辑给我的json数据有个隐藏的字符,UTF-8有bom头问题。高版本的android系统可以自动处理掉,低版本的不行,所以要对获取的数据进行处理后,在json解码获取json对象,否则抛出异常,好了上代码:
public static String JSONTokener(String in)
{
// consume an optional byte order mark (BOM) if it exists
if (in != null && in.startsWith("\ufeff"))
{
in = in.substring(1);
}
return in;
}
如果想详细了解,看下 UTF-8有bom头问题。