I get json like this
[
{
"albums" : [
{"id":"0", "name":"name"},
{"id":"1", "name":"name"}
],
"name":"name"
},
{
"tracks" : [
{"id":"0", "name":"name", "duration":"3:30"},
{"id":"1", "name":"name", "duration":"2:40"}
],
"name":"name"
},
{
"playlists" : [
{"id":"0", "name":"name", "tracksCount":"3"},
{"id":"1", "name":"name", "tracksCount":"40"}
],
"name":"name"
}
]
Of course, I implemented the Track, Album, and Playlist classes that contain all the fields and classes.
Tracks {
String name;
List<Track> tracks;
}
Albums {
String name;
List<Album> albums;
}
Playlists {
String name;
List<Playlist> playlists;
}
I am trying to deserialize it with
Gson gson = new Gson();
JsonResponse[] rez = gson.fromJson(str, JsonResponse[].class);
where is jsonresponse
class JsonResponse {
Albums albums;
Tracks tracks;
Playlists playlists;
}
But I get the error:
11-20 19: 24: 55.210: E/AndroidRuntime (5432): FATAL EXCEPTION: main 11-20 19: 24: 55.210: E/AndroidRuntime (5432): com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: BEGIN_OBJECT, BEGIN_ARRAY 1 13 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $Adapter.read(ReflectiveTypeAdapterFactory.java:176) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $1.read(ReflectiveTypeAdapterFactory.java:93) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $Adapter.read(ReflectiveTypeAdapterFactory.java:172) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.Gson.fromJson(Gson.java:803) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): com.google.gson.Gson.fromJson(Gson.java:768) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): com.google.gson.Gson.fromJson(Gson.java:717) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): com.google.gson.Gson.fromJson(Gson.java:689) 11-20 19: 24: 55.210: 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at android.os.ResultReceiver $MyRunnable.run(ResultReceiver.java:43) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at android.os.Handler.handleCallback(Handler.java:587) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at android.os.Handler.dispatchMessage(Handler.java:92) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at android.os.Looper.loop(Looper.java:130) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): android.app.ActivityThread.main(ActivityThread.java:3687) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at java.lang.reflect.Method.invokeNative( ) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at java.lang.reflect.Method.invoke(Method.java:507) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:867) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at dalvik.system.NativeStart.main( ) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): : java.lang.IllegalStateException: BEGIN_OBJECT, BEGIN_ARRAY 1 13 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374) 11-20 19: 24: 55.210: E/AndroidRuntime (5432): at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $Adapter.read(ReflectiveTypeAdapterFactory.java:165) 11-20 19: 24: 55.210: E/AndroidRuntime (5432):... 21
P.S. json- .
[
{
"albums" : [
{"id":"0", "name":"name"},
{"id":"1", "name":"name"}
],
"name":"name"
}
]
, JSON?
, JSON. , .