如何映射一个简单的JSON对象{"status" : "successful"}
自动映射到JAX-RS中的Java Enum?
public enum Status {
SUCESSFUL ("successful"),
ERROR ("error");
private String status;
private Status(String status) {
this.status = status;
}
}
如果您需要更多详细信息,请随时询问:)
答案 0 :(得分:14)
以下JAXB
注释应该这样做。 (我使用Jettison
进行了测试,但我没有尝试其他提供商):
@XmlType(name = "status")
@XmlEnum
public enum Status {
@XmlEnumValue(value = "successful")
SUCESSFUL,
@XmlEnumValue(value = "error")
ERROR;
}
答案 1 :(得分:4)
这可能对您有所帮助
@Entity
public class Process {
private State state;
public enum State {
RUNNING("running"), STOPPED("stopped"), PAUSED("paused");
private String value;
private State(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return this.value;
}
@JsonCreator
public static State create(String val) {
State[] states = State.values();
for (State state : states) {
if (state.getValue().equalsIgnoreCase(val)) {
return state;
}
}
return STOPPED;
}
}
}