为了账号安全,请及时绑定邮箱和手机立即绑定

JSONException:java.lang.String类型的值不能转换为JSONObject

JSONException:java.lang.String类型的值不能转换为JSONObject

哔哔one 2019-06-25 15:15:14
JSONException:java.lang.String类型的值不能转换为JSONObject我有一个包含两个JSON数组的JSON文件:一个用于路由的数组,一个用于查看的数组。一条路线应该由用户导航到的几个景点组成。不幸的是,我得到了错误:JSONException:java.lang.String类型的值不能转换为JSONObject下面是我的变量和解析JSON-File的代码:private InputStream is = null;private String json = "";private JSONObject jObj = null;try {     BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);     StringBuilder sb = new StringBuilder();     String line = null;     while ((line = reader.readLine()) != null) {         sb.append(line + "\n");     }     is.close();     // hier habe ich das JSON-File als String     json = sb.toString();     Log.i("JSON Parser", json);} catch (Exception e) {     Log.e("Buffer Error", "Error converting result " + e.toString());}// try parse the string to a JSON objecttry {     jObj = new JSONObject(json);} catch (JSONException e) {     Log.e("JSON Parser", "Error parsing data " + e.toString());}// return JSON Stringreturn jObj;}Log.i(“JSON Parser”,json);向我展示在生成的字符串的开头有一个奇怪的符号:但是错误发生在这里:try {     jObj = new JSONObject(json);} catch (JSONException e) {     Log.e("JSON Parser", "Error parsing data " + e.toString());}04-22 14:01:05.043:e/JSON Parser(5868):错误解析数据org.json.JSONException:value/异号此处/类型为java.lang.String不能转换为JSONObject有谁知道如何摆脱这些标记来创建JSONObject呢?
查看完整描述

3 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

原因是在编写字符串时添加了一些不需要的字符。临时解决方案是

return new JSONObject(json.substring(json.indexOf("{"), json.lastIndexOf("}") + 1));

但是尝试删除源字符串上的隐藏字符。


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 1315 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信