Сериализация перечислений с помощью Jackson

У меня есть Enum, описанный ниже:

public enum OrderType {

  UNKNOWN(0, "Undefined"),
  TYPEA(1, "Type A"),
  TYPEB(2, "Type B"),
  TYPEC(3, "Type C");

  private Integer id;
  private String name;

  private WorkOrderType(Integer id, String name) {
    this.id = id;
    this.name = name;
  }

  //Setters, getters....
}

Я возвращаю массив enum с помощью своего контроллера ( new OrderType [] {UNKNOWN, TYPEA, TYPEB, TYPEC}; ), и Spring сериализует его в следующую строку json:

["UNKNOWN", "TYPEA", "TYPEB", "TYPEC"] 

Как лучше всего заставить Джексона сериализовать перечисления так же, как POJO? Например: [

[
  {"id": 1, "name": "Undefined"},
  {"id": 2, "name": "Type A"},
  {"id": 3, "name": "Type B"},
  {"id": 4, "name": "Type C"}
]

] Я играл с разными аннотациями, но не смог добиться такого результата.

88
задан Nofate 15 October 2011 в 17:58
поделиться