什么是通过json与Gson映射的地图类型?

时间:2015-12-28 07:30:18

标签: java dictionary gson

在从数据库转移到LinkedHashMap<Integer, Double>后,我将LinkedHashMap转换为带有Gson的json字符串存储在数据库中。

    LinkedHashMap<Integer, Double> map = new LinkedHashMap<>();
    map.put(100, 0.5);
    map.put(102, 0.2);
    map.put(99, 0.8);

    String result = new Gson().toJson(map);

    System.out.println(result);

    Gson gson = new Gson();
    Type mapType = new TypeToken<Map<Integer, Double>>(){}.getType();
    Map<Integer, Double> resMap = gson.fromJson(result, mapType);

所以,我对resMap感到困惑,是一种LinkedHashMap吗?或者我应该做LinkedHashMap<Integer, Double> resMap = ...

1 个答案:

答案 0 :(得分:1)

这将是一个LinkedHashMap

从此代码中检查:

public static void main(String[] args) {

LinkedHashMap<Integer, Double> map = new LinkedHashMap<>();
map.put(100, 0.5);
map.put(102, 0.2);
map.put(99, 0.8);

String result = new Gson().toJson(map);

System.out.println(result);

Gson gson = new Gson();
Type mapType = new TypeToken<Map<Integer, Double>>(){}.getType();
Map<Integer, Double> resMap = gson.fromJson(result, mapType);
System.out.println(resMap.getClass());
}

输出:

{"100":0.5,"102":0.2,"99":0.8}
class java.util.LinkedHashMap