使用Gson将JSON字符串解析为Dictionary <String,Integer>

sho*_*rty 13 java json dictionary gson

我有一个JSON字符串,如下所示: {"altruism":1,"amazon":6}

我想要的是HashMap<String, Integer>之后有两个条目.

Key: altruism Value: 1
Key: amazon Value:6
Run Code Online (Sandbox Code Playgroud)

我真的无法弄清楚如何做到这一点.通常有从JSON字符串解析的对象,但这不是这里的情况.

Pro*_*uce 18

Gson让你想做的事情相对容易.以下是一个工作示例.

// 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
Run Code Online (Sandbox Code Playgroud)