Gson deserialize into map Gson deserialize into map json json

Gson deserialize into map


First, enclose the JSON string inside {...}, then you can easily convert it into Map as shown below:

class PlayerObject {    private String uuid;    private String name;    private String signup_time;    // getters & setters}Gson gson = new Gson();Type type = new TypeToken<Map<String, ArrayList<Map<String, PlayerObject>>>>(){}.getType();Map<String, ArrayList<Map<String, PlayerObject>>> map = gson.fromJson(jsonString, type);

Is it possible to have the map like: Map<String, PlayerObject> players?

Yes, you can convert it into desired format as shown below:

Map<String,PlayerObject> players=new HashMap<String,PlayerObject>();for(Map<String, PlayerObject> m:map.get("players_test")){   for(String key:m.keySet()){       players.put(key, m.get(key));   }}System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(players));