jsonを使用して解析したいjsonのマッピングを作成する際に問題があります。それは非常に具体的なもので、その中にオブジェクトを持つjson配列を持つjsonファイルに関するものです。gsonでjsonファイルを解析する
私jsonfileはこのように始まります:
[
{
"venue": {
"venue_seasons": [
{
"created_at": "2011-12-25T23:00:28Z",
"updated_at": "2011-12-28T15:13:53Z",
"start_timestamp": 1293840000,
"id": 337,
"end": "2011-12-24T00:00:00Z",
"enabled": true,
"start": "2011-01-01T00:00:00Z",
"season_openings": [ … ],
"end_timestamp": 1324684800
},
{ … }
],
"address": "someadress",
"city": "cityname",
"name": "name",
"created_at": "2011-03-31T07:55:33Z",
etcetera
}
"venue":{another venue
その中のオブジェクトの多くのオブジェクト(会場)よりしたがって、最初の配列、(私の質問のためのthatsが重要ではないので、私は、それらのほとんどを削除) 、およびいくつかの配列(season_openingsなど)
私の解析コードは、gsonを使用してこのように動作します。入力ストリームは正常に動作します。
public class JsonResponse {
public List<Venues> venue;
}
とVenues.class:
public class Venues {
public List<VenueSeasons> venue_seasons;
@SerializedName("adress")
public String getAdress;
@SerializedName("city")
public String getCity;
@SerializedName("country")
public String getCountry; etcetera
}
しかし、私はこのコードを実行すると、私はエラーを取得:
勿論Unable to start activity ComponentInfo{com.hera.android.JSON/com.hera.android.JSON.TestParser2Activity}: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2
クラスJsonResponseと
Reader reader = new InputStreamReader(inputStream);
JsonResponse venueResponse = gson.fromJson(reader, JsonResponse.class);
List<Venues> results = venueResponse.venue;
私はエラーを読むことができます:それは、 bjectsしかし、配列を取得します。私はさまざまなjsonresponse.classとjsonresponse.classでたくさん変わっていて、jsonオブジェクト全体にjson配列を置いていても(このタイプのjsonfileで作業する必要があるため、実際には解決策ではありません)しかし、毎回私はこれまたは同様のエラーを取得します。
私は解決策に近いと思います。誰も私ができないものを見て、救いの手をくれますか?おかげさまで
無効なJSON例と不完全な無効なJavaコードの例では、実際に何が起こっているのかを推測している人がいます。解決しようとしている問題を示す完全な最小限の例を投稿することをお勧めします。 –