fastjson转换成map时指定key的类型

一个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>>(){});


文章太有用啦👍,打赏个钢镚鼓励鼓励!!