重点:保存文件格式请选择:utf-8无BOM
在用org.json.JSONObject 解析从网络获取的json数据时,遇到JSONException: Java.lang.String cannot be converted to JSONObject,
造成问题的原因是在编写json文件的时候,采用utf-8编码,utf8有个BOM格式(json串头部发现字符:”\ufeff” )。去掉这个格式就ok了。
1.json文档要进行设置如下:
2.另外还有一种办法,就是在java代码中去除BOM头:
public static String JSONTokener(String str_json) {
// consume an optional byte order mark (BOM) if it exists
if (str_json != null && str_json.startsWith("\ufeff")) {
istr_json = str_json.substring(1);
}
return str_json;
}
参考:org.json.JSONException: Value of type java.lang.String cannot be converted to JSON
项目中遇到:
友盟遇到这个错误:
确认分享操作是否能正常执行即可,这些报错都是内部调试日志,不影响正常分享流程。