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

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呢?


哔哔one
浏览 1334回答 3
3回答

青春有我

原因是在编写字符串时添加了一些不需要的字符。临时解决方案是return new JSONObject(json.substring(json.indexOf("{"), json.lastIndexOf("}") + 1));但是尝试删除源字符串上的隐藏字符。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android