2013-10-11 1 views
3

У меня есть StepEnum, который я хочу, чтобы генерировать JSON как это:Почему Json не генерируется должным образом для перечисления java?

{"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 генерируется пружинным каркасом. Вот мой 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; 
    } 
} 
+4

Возможный дубликат [Сериализация перечислений с помощью Джексона] (http://stackoverflow.com/questions/7766791/serializing-enums-with-jackson) – Jonathan

ответ

0

Похоже, этот вопрос, и ответ, рассматривается в этой статье: http://www.baeldung.com/jackson-serialize-enums

Как в стороне, я считаю, имеющие сеттеров для свойства перечислимого быть очень подозреваемого. Перечисления являются статическими, общими и т. Д. ... и по моему мнению, для них очень необычная ситуация, чтобы они не были неизменными.

+0

@BrainT Это практика, которая происходит все больше и больше, поскольку Enums теперь активно используется для реализации шаблона «Singleton». Это также относится к отдельным экземплярам обработчиков состояния (что может быть здесь). – bvdb

+0

Интересно, я не думал об этом. Тем не менее, чтобы помочь членам команды сделать все хорошо, я считаю, что эти установщики являются исключением, а не правилом. Специальный джавадок не был бы лишним. –

Смежные вопросы