一个json字符串,是可以转化成一个Map对象的,对于一个标准的json字符串来说,key必须是String类型的。
但是有时候为了方便,希望转化成Map的时候,对应的key是其他类型如Integer,怎么办呢?
假定有如下json串
{
"1":1,
"2":2,
"3":3
}
如果我们使用如下写法进行json转map,虽然map的定义类型为Map<Integer, String>
但是实际key存的却还是字符串
Map<Integer, String> map = JSON.parseObject(json, Map.class);
我们可以使用TypeReference
的写法来实现让key变成Integer
Map<Integer, Integer> map = JSON.parseObject(json, new TypeReference<Map<Integer, Integer>>(){});