为什么Json没有为java enum正确生成?

时间:2013-10-11 11:15:46

标签: java json spring-mvc enums

我有一个StepEnum,我想像这样生成json:

{"success":true,"stepList":[{"name":"My First Step","index":0,"status":"active"},{"name":"My Second Step","index":1,"status":"inactive"}]}

但是我得到这样的输出:

 {"success":true,"stepList":["MY_FIRST_STEP","MY_SECOND_STEP"]}

我需要在我的Enum课程中做出哪些更改。 Json是由spring框架生成的。 这是我的StepEnum类:

public enum StepEnum {
    MY_FIRST_STEP("My First Step",0),
    MY_SECOND_STEP("My Second Step",1);

    private String label;
    private int index;
    private String status;
    private StepEnum(String label, int index) {
        this.label = label;this.index = index;
    }
    public void setIndex(int index) {
        this.index = index;
    }
    public int getIndex() {
        return index;
    }
    public void setLabel(String label) {
        this.label = label;
    }
    public String getLabel() {
        return label;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
}

1 个答案:

答案 0 :(得分:0)

看起来这个问题和答案在本文中得到了解决: http://www.baeldung.com/jackson-serialize-enums

顺便说一句,我发现对枚举属性的定位器非常可疑。枚举是静态的,共享的等等......根据我的想法,它们需要一个非常不寻常的情况才能使它们不可变。