作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 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 实例时,您的代码将按预期工作。
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
关于java - Gson 枚举序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42085301/
我是一名优秀的程序员,十分优秀!