一次项目中,客户端解析服务端返回的Json串时,JSONObject对象抛出了这个异常。
在客户端将返回值打印出来,查看了数据格式,至少字符上看是格式没问题的。
后来将打印的数据复制到记事本上,保存后再打开,发现。json串的头部多了个空格字符,后来查明这个字符是"\ufeff" 。
这个字符是PHP服务端生成json串时自动加上的,所以客户端需要特殊处理一下
客户端处理方法:
public static String removeTemp(String result) {
if (result == null) {
return result;
}
if (result.equals("")) {
return result;
}
if (result.startsWith("\ufeff")) {
return result.substring(1);
} else {
return result;
}
}