Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 3 path $[0] at com.google.gson.Gson.fromJson(Gson.java:1226) at com.google.gson.Gson.fromJson(Gson.java:1124) at com.google.gson.Gson.fromJson(Gson.java:1034) at com.google.gson.Gson.fromJson(Gson.java:1001) at hello.Lautturi.main(Lautturi.java:88) Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 3 path $[0] at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:358) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:171) at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:144) at com.google.gson.Gson.fromJson(Gson.java:1214) ... 4 more
/** * @author lautturi.com * Java example: json to hashmap in java */ public class Lautturi { public static void main(String[] args) { String jsonString = "[{\"id\":111,\"name\":\"Lautturi\"}]"; Map<String, String> retMap = new Gson().fromJson( jsonString, new TypeToken<HashMap<String, String>>() {}.getType() ); System.out.println(retMap); } }
gson.JsonSyntaxException
check the json string.
change
String jsonString = "[{\"id\":111,\"name\":\"Lautturi\"}]";
to
String jsonString = "{\"id\":111,\"name\":\"Lautturi\"}";
/** * @author lautturi.com * Java example: parse json string to hashmap in java */ import java.util.*; import org.json.JSONObject; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; public class Lautturi { public static void main(String[] args) { String jsonString = "{\"id\":111,\"name\":\"Lautturi\"}"; Map<String, String> retMap = new Gson().fromJson( jsonString, new TypeToken<HashMap<String, String>>() {}.getType() ); System.out.println(retMap); } }