关闭

Json解析异常处理方式(JSONException: Value of type java.lang.String cannot be converted to JSONObject)

标签: json异常处理编码异常
6886人阅读 评论(2) 收藏 举报
分类:

Json解析异常处理方式(JSONException: Value of type java.lang.String cannot be converted to JSONObject)


http://www.cnblogs.com/Ashia/archive/2012/03/09/2386073.html

 

今天彻底被 json 伤到了

 

03-08 13:45:44.648: W/System.err(14432): org.json.JSONException: Value of type java.lang.String cannot be converted to JSONArray

 

该异常有 json 文件编码所引起的,所以切切不要应用 记事本 编辑 json 文件,而应选择其他文本编辑器,如 EditPlus ,并重视保存编码格局为 UTF-8,不然可能产生中文乱码。

 

用记事本编辑后,即使 另存为 UTF-8 情势,也会产生乱码,因为保存在为 UTF-8 + BOM 编码

 

因为我是将 json 文件放在 tomcat ,进行读取的。从而导致该题目产生。


-----------------------------------------------------------------------------------------------------------

有一次从服务器解析获取到的Json字符串突然报了这个异常,由于这个json是从php页面上推送过来的,当时就查是不是由于编码问题引起的,所以就上网搜了,网上大部分都是说由于utf-8的bom头引起的,让去掉bom头,但是也没解决了,即使在本地进行处理json字符串将bom头去掉,但是也不行。json字符串格式也没问题,所以可以肯定的是json字符内部有无法识别或者未知的字符,所以当时就把当时得到的json字符串进行了如下处理:

String jsonStr = httpTools.doGet("URL接口地址",paramsBaseList);
String json = jsonStr.substring(jsonStr.indexOf("{"), jsonStr.lastIndexOf("}") + 1);   //可能与android版本有关?

就很顺利的解决问题,也不报这个异常了,不解释,贴出来供大家参考。






1
2

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:84534次
    • 积分:1017
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:87篇
    • 译文:0篇
    • 评论:3条
    最新评论