8

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

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

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

4

4 回答 4

17

您的 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)。

于 2012-12-23T07:27:15.697 回答
8

我正在使用以下内容来获取标准的 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;
    }
于 2014-06-12T10:35:25.650 回答
4

我使用jsoneditoronline效果很好的在线工具。

在此处输入图像描述

于 2012-12-23T07:38:59.167 回答
1

这对我有用

    public static String convertJSONString(String data) {
    data = data.replace("\\", "");
    return data; }
于 2018-08-17T08:54:07.097 回答