2011-07-18 14 views
13

que tiene una cadena JSON que se ve de la siguiente manera: {"altruism":1,"amazon":6}Analizar JSON cadena a Dictionary <string, integer> Gson con

Lo que quiere tener es un HashMap<String, Integer> con dos entradas después.

Key: altruism Value: 1 
Key: amazon Value:6 

Realmente no puedo encontrar la manera de hacerlo. Normalmente hay objetos analizados de cadenas JSON, pero ese no es el caso aquí.

+1

Aclare que JSON no es Gson. JSON es un formato de datos. Gson es una biblioteca de Java para leer y escribir JSON. –

Respuesta

18

Gson hace que lo que está tratando de hacer sea relativamente fácil. Lo siguiente es un ejemplo de trabajo.

// input: {"altruism":1,"amazon":6} 
String jsonInput = "{\"altruism\":1,\"amazon\":6}"; 

Map<String, Integer> map = new Gson().fromJson(jsonInput, new TypeToken<HashMap<String, Integer>>() {}.getType()); 
System.out.println(map); // {altruism=1, amazon=6} 
System.out.println(map.getClass()); // class java.util.HashMap 
System.out.println(map.keySet().iterator().next().getClass()); // class java.lang.String 
System.out.println(map.get("altruism").getClass()); // class java.lang.Integer 
Cuestiones relacionadas