【发布时间】:2016-01-11 17:16:50
【问题描述】:
我在将某个 Java 枚举转换为 JSON 时遇到了一些困难。我有以下枚举:
public enum Color {
BLUE("Blue"), RED("Red");
private String colorName;
Color(final String colorName) {
this.colorName = colorName;
}
@Override
public String toString() {
return colorName;
}
}
在转换为 JSON 时,我想使用名称,因此我重写了 toString 方法。我认为这就足够了,但是当我做这个测试时:
Gson gson = new Gson();
assertEquals("Blue", gson.toJson(Color.BLUE));
失败了!它给了我“蓝色”...有什么办法可以让这个东西返回“蓝色”?
我还在一个返回名称但没有结果的方法上尝试了@JsonValue 注释。 fastxml @JsonFormat 也没有给我任何东西...
【问题讨论】:
标签: java json enums jackson gson