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

13

我有一个JSON字符串,看起来是这样的:{"altruism":1,"amazon":6}

我想要得到的是一个HashMap<String, Integer>,之后有两个条目。

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

我真的搞不明白怎么做。通常会从JSON字符串解析出对象,但这里不是这种情况。


1
请明确,JSON不是Gson。 JSON是一种数据格式。Gson是用于读写JSON的Java库。 - Programmer Bruce
1个回答

19

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接