Json对象另存为String而不是Object

时间:2018-08-14 00:57:33

标签: java json oop gson

我正在使用Json / Gson保存和加载哈希图。

当我用键String和Value EnumElement保存哈希图属性时。例如:

private static enum Rank {
    BOSS;
}

public static void main(String[] args){

    HashMap<Object, Object> attributes = new HashMap<>();

    attributes.put("test", Rank.BOSS);

    //save json file here...


}

然后,当使用json加载哈希图并按如下方式设置地图时:

attributes = loadJson("path/savedAttributes");

然后,已加载的地图将Rank.BOSS的枚举元素更改为字符串“ BOSS”

现在的结果是:

 "attributes": {
    "test": "BOSS",
 },

现在是一个字符串。

我该如何克服呢?

我希望它再次作为枚举元素而不是字符串表示形式加载

1 个答案:

答案 0 :(得分:0)

尝试使用Gson TypeAdapterFactory here