org.json.JSONException:字符550处的预期文字值

时间:2012-12-23 07:21:23

标签: android jsonexception

我正在尝试从资产文件夹中读取JSON文件。但我得到以下例外 org.json.JSONException: Expected literal value at character 550
我搜索了很多东西,但没有发现任何相对的东西。这是我的JSON文件。

我发现550上的JSON对象是"names": ["Santosh","Sandip","Arvind"],。我试图解决它,但不知道我的代码中发生了什么 这是我的代码。

我也调试了我的代码但是当控件继续JSONObject jsonObject = new JSONObject(text);时,它会抛出异常并进入第一个catch块 请给我任何参考或提示来解决这个问题 任何帮助赞赏。

4 个答案:

答案 0 :(得分:13)

你的JSON无效。你的JSON应该是这样的

{
    "resultCount": 3,
    "SearchedTerm": "Wada Pav",
    "results": [
        {
            "locationname": "Mahableshwar Hotel",
            "locationid": "12345",
            "locationaddress": "baner, Pune",
            "dishrating": "4",
            "dishname": "Wada Pav",
            "dishid": "234",
            "dishcategory": "Snacks",
            "dishnotes": "Spicy Wada Pav",
            "dishpreviewurl": "http://xxx.yyy.zzz/mahableshwar/1.jpg",
            "dishtotalvotes": "9999",
            "friendslistvoted": {
                "friendscount": "3",
                "names": [
                    "Santosh",
                    "Sandip",
                    "Arvind"
                ]
            },
            "dishimageurl": "http://xxx.yyy.zzz/mahableshwar/2.jpg",
            "mylastrating": "4"
        }
    ]
}

在使用之前尝试使用JSON验证器(如JSLint)。

答案 1 :(得分:6)

我正在使用以下内容来获取标准的JSON格式。 这个更好。

    public static String convertStandardJSONString(String data_json) {
        data_json = data_json.replaceAll("\\\\r\\\\n", "");
        data_json = data_json.replace("\"{", "{");
        data_json = data_json.replace("}\",", "},");
        data_json = data_json.replace("}\"", "}");
        return data_json;
    }

答案 2 :(得分:4)

我使用 jsoneditoronline 在线工具,效果非常好。

enter image description here

答案 3 :(得分:1)

这对我有用

    public static String convertJSONString(String data) {
    data = data.replace("\\", "");
    return data; }