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);
}
}