gpt4 book ai didi

java - Gson 枚举序列化

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:09 25 4
gpt4 key购买 nike

我在我的 java 网络应用程序中使用 gson 将我的 api 模型序列化为 json 对象。
我已经成功地将其注释用于版本化模型,但我无法序列化 Enum 对象。

Action 类

public enum Action {

@SerializedName("create") CREATE,
@SerializedName("read") READ;

}

尝试序列化一个 Hashtable 或另一个使用此枚举的 pojo,我得到了大写字母的字符串。

...
Gson gson = new GsonBuilder.create();
Hashtable<Action, String> table = new Hashtable<>();
table.put(Action.CREATE, "");
gson.toJson(table) // => { "CREATE" : "" } instead of { "create" : "" }
...

我做错了什么?

最佳答案

当您将 enableComplexMapKeySerialization 选项添加到您的 Gson 实例时,您的代码将按预期工作。

https://google.github.io/gson/apidocs/com/google/gson/GsonBuilder.html#enableComplexMapKeySerialization--

Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();

关于java - Gson 枚举序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42085301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com