0

我正在从网站上抓取数据。我们得到的数据格式为

[
[
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "7:26pm",
        "depStation": "Albion Park Station ",
        "depPlatform": "1",
        "arrTime": "7:46pm",
        "arrStation": "Wollongong Station ",
        "arrPlatform": "1"
    },
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "8:00pm",
        "depStation": "Wollongong Station ",
        "depPlatform": "1",
        "arrTime": "9:14pm",
        "arrStation": "Hurstville Station ",
        "arrPlatform": "3"
    },
    {
        "train": "Eastern Suburbs and Illawarra train (CityRail) ",
        "depTime": "9:20pm",
        "depStation": "Hurstville Station ",
        "depPlatform": "3",
        "arrTime": "9:24pm",
        "arrStation": "Kogarah Station ",
        "arrPlatform": "3"
    },
    {
        "train": "Eastern Suburbs and Illawarra train (CityRail) ",
        "depTime": "9:27pm",
        "depStation": "Kogarah Station ",
        "depPlatform": "4",
        "arrTime": "9:31pm",
        "arrStation": "Allawah Station ",
        "arrPlatform": "4"
    }
],
[
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "7:26pm",
        "depStation": "Albion Park Station ",
        "depPlatform": "1",
        "arrTime": "7:46pm",
        "arrStation": "Wollongong Station ",
        "arrPlatform": "1"
    },
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "8:00pm",
        "depStation": "Wollongong Station ",
        "depPlatform": "1",
        "arrTime": "9:14pm",
        "arrStation": "Hurstville Station ",
        "arrPlatform": "3"
    },
    {
        "train": "Eastern Suburbs and Illawarra train (CityRail) ",
        "depTime": "9:30pm",
        "depStation": "Hurstville Station ",
        "depPlatform": "3",
        "arrTime": "9:32pm",
        "arrStation": "Allawah Station ",
        "arrPlatform": "3"
    }
],
[
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "8:16pm",
        "depStation": "Albion Park Station ",
        "depPlatform": "1",
        "arrTime": "8:38pm",
        "arrStation": "Wollongong Station ",
        "arrPlatform": "1"
    },
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "8:54pm",
        "depStation": "Wollongong Station ",
        "depPlatform": "1",
        "arrTime": "10:14pm",
        "arrStation": "Hurstville Station ",
        "arrPlatform": "3"
    },
    {
        "train": "Eastern Suburbs and Illawarra train (CityRail) ",
        "depTime": "10:30pm",
        "depStation": "Hurstville Station ",
        "depPlatform": "3",
        "arrTime": "10:32pm",
        "arrStation": "Allawah Station ",
        "arrPlatform": "3"
    }
],
[
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "9:23pm",
        "depStation": "Albion Park Station ",
        "depPlatform": "1",
        "arrTime": "9:45pm",
        "arrStation": "Wollongong Station ",
        "arrPlatform": "1"
    },
    {
        "train": "South Coast train (CityRail) ",
        "depTime": "9:54pm",
        "depStation": "Wollongong Station ",
        "depPlatform": "1",
        "arrTime": "11:14pm",
        "arrStation": "Hurstville Station ",
        "arrPlatform": "3"
    },
    {
        "train": "Eastern Suburbs and Illawarra train (CityRail) ",
        "depTime": "11:30pm",
        "depStation": "Hurstville Station ",
        "depPlatform": "3",
        "arrTime": "11:32pm",
        "arrStation": "Allawah Station ",
        "arrPlatform": "3"
    }
],
{
    "1": {
        "train": "Eastern Suburbs and Illawarra train (CityRail) ",
        "depTime": "5:09am+",
        "depStation": "Hurstville Station ",
        "depPlatform": "3",
        "arrTime": "5:11am+",
        "arrStation": "Allawah Station ",
        "arrPlatform": "3"
    }
}

]

当我将上述数据转换为 Json 格式时,出现以下错误

    06-11 18:36:40.584: V/Error(657): Error in parsing Innerorg.json.JSONException: Value {"1":{"depTime":"5:09am+","arrStation":"Allawah Station ","arrTime":"5:11am+","train":"Eastern Suburbs and Illawarra train (CityRail) ","arrPlatform":"3","depStation":"Hurstville Station ","depPlatform":"3"}} at 4 of type org.json.JSONObject cannot be converted to JSONArray

如何在 Android 中解析这种类型的json字符串。有什么建议的朋友......?

4

2 回答 2

1

那是因为您的 JSON 字符串构造不正确。

试着把它放进去:http: //jsonlint.com/它会告诉你当前的错误。

另外请在此处阅读有关 JSON 的一些文档http://json.org/因为您实际上正在犯一些基本错误:)

如果您还提供您的 JSON 必须呈现的内容,我可以显示您的 JSON 字符串的正确形式:)

于 2012-06-11T13:12:39.757 回答
0

我的字符串如下所示

{
"result": "success",
"countryCodeList": [
{
"countryName": "World Wide",
"countryCode": "00"
},
{
"countryName": "Korea, Republic of",
"countryCode": "kr"
},
{
"countryName": "United States",
"countryCode": "us"
},-
{
"countryName": "Japan",
"countryCode": "jp"
},
{
"countryName": "China",
"countryCode": "cn"
},
{
"countryName": "India",
"countryCode": "in"
}
]
}

我已经做好了

JSONObject json = new JSONObject(jsonstring);
JSONArray nameArray = json.names();
JSONArray valArray = json.toJSONArray(nameArray);

JSONArray valArray1 = valArray.getJSONArray(1);

    valArray1.toString().replace("[", "");
            valArray1.toString().replace("]", "");

            int len = valArray1.length();

            for (int i = 0; i < valArray1.length(); i++) {

                Country country = new Country();
                JSONObject arr = valArray1.getJSONObject(i);

                country.setCountryCode(arr.getString("countryCode"));
                country.setCountryName(arr.getString("countryName"));
                arrCountries.add(country);
            }
于 2012-06-11T13:20:00.307 回答