今天在写安卓中遇到服务端json返回处理,服务端采取php语言,客户端安卓。
开始在一台4.0的安卓机上程序运行良好,后来换成安卓2.x时便会报错:org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject。json 返回语句表面上无任何错误,后来网上查一下,是由于UTF-8有bom头造成,但结合网上的方法均不能解决。然后将错误日志保存用记事本打开后发现 json的第一个字符为 :?,值为:65279。所以可以就用下面的方法解决:
public static final String removeBOM(String data) {
if (data != null &&data.charAt(0) == 65279) data = data.substring(1);
return data;
}
然后返回值就是经过处理过的结果了。大二学生一枚,第一次写博客,希望可以帮到大家。