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 に答える