在用org.json.JSONObject 解析从网络获取的json数据时,遇到JSONException: java.lang.String cannot be converted to JSONObject,打印字符串,查看json字符串没有问题,研究了好长时间,终于找到问题,造成问题的原因是在编写json文件的时候,采用utf-8编码,utf8有个BOM格式,去掉这个格式就ok了。如何去掉呢?
【JSONException(java.lang.String cannot be converted to JSONObject解决办法)】如图:
另外还有一种办法,就是在java代码中去除BOM头:
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;
}