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

转载 2013年12月03日 09:48:58

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版本有关?

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






相关文章推荐

Value  of type java.lang.String cannot be converted to JSONObject 错误解决

JSONObject obj = new JSONObject(jsonStr); 一个简简单的json解析居然报错!!并且json字符串没错!!!! 这个情况百分百是因为UTF-8的BOM头。 ...
  • zwcwu31
  • zwcwu31
  • 2016年12月19日 17:53
  • 2387

org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject

org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject 分类: ...

Value of type java.lang.String cannot be converted to JSONObject

解析JSON数据 程序在运行  json = new JSONObject(str); 爆异常: Value of type java.lang.String cannot be conver...

org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject

解析服务器返回的Json串时,JSONObject对象抛出了这个异常。 原以为是返回的json格式错误了,仔细对比看不出所以然。至少字符上看是格式没问题的。。 那就可能是编码的问题了。仔细比较每个...

org.json.JSONException: Value of type java.lang.String cannot be converted to JSON

org.json.JSONException: Value of type java.lang.String cannot be converted to JSON

JSONException:java.lang.String cannot be converted to JSONObject解决办法

在用org.json.JSONObject 解析从网络获取的json数据时,遇到JSONException: java.lang.String cannot be converted to JSONO...

JSONObject cannot be converted to JSONArray

错误信息:org.json.JSONException: Value {"weatherinfo":{"city":"石家庄","cityid":"101090101","temp1":"2","te...

String转Json,数据格式没问题,始终报String cannot be converted to JSONObject的解决办法

服务器端返回的数据如下: {"status":1,"msg":"","data":{"companyname":"","resCount":4,"res":[{"id":"120","sp":"\u...
  • eclothy
  • eclothy
  • 2016年07月07日 13:29
  • 896

Android : Value of type java.lang.String cannot be converted to JSONObject 异常

"Value of type java.lang.String cannot be converted to JSONObject"异常的原因及解决方法
  • doris_d
  • doris_d
  • 2015年07月02日 14:14
  • 737

org.json.JSONException: Value of type java.lang.String cannot be converted to JSONArra

org.json.JSONException: Value of type java.lang.String cannot be converted to JSONArra 该异常有 j...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Json解析异常处理方式(JSONException: Value of type java.lang.String cannot be converted to JSONObject)
举报原因:
原因补充:

(最多只允许输入30个字)