Разобрать строку JSON в словарьс Гсоном - PullRequest
13 голосов
/ 18 июля 2011

У меня есть строка JSON, которая выглядит следующим образом: {"altruism":1,"amazon":6}

Я хочу получить HashMap<String, Integer> с двумя записями позже.

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

Я действительно не могу понять, как это сделать. Обычно есть объекты, проанализированные из строк JSON, но здесь это не так.

1 Ответ

18 голосов
/ 19 июля 2011

Гсон делает то, что вы пытаетесь сделать, относительно легко.Ниже приведен рабочий пример.

// 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...