【发布时间】:2020-01-12 22:49:20
【问题描述】:
我有一个在 Java 类中使用的性别枚举(我无法编辑)。现在,当我需要将 Java 类序列化为 JSON 时,我希望 Enum 的值作为 JSON 的一部分,而不是 Enum 名称。例如下面在我的枚举中,当这个枚举被序列化时,我希望值为 {"gender":"Male"} 我正在使用:
String underWritingJSONString = objectMapper.writeValueAsString(myObject);
public enum Gender {
MALE("Male"),
FEMALE("Female");
Gender(String gender) {
this.name = gender;
}
private String name;
String toValue() {
return name;
}
}
预期结果 = {"gender":"Male"}
当前结果 = {"gender":"MALE"}
下面是示例类
public class MyObject {
@JSONField
public Gender gender;
public MyObject() {
}
public Gender getGender() {
return this.gender;
}
}
【问题讨论】:
-
如上所述,我无法编辑枚举。它是另一个库的一部分。我需要在使用此枚举的 myObject 类或 ObjectMapper 设置中进行一些更改
-
@ode-master-88 你的枚举没有完成你可以添加/编辑枚举(带有方法的完整声明)因为它接受一个参数,所以应该是一个构造函数,并且有一个 toString 方法有机会吗?
标签: java json spring serialization