Serializing enums with Jackson

后端 未结 7 1367
借酒劲吻你
借酒劲吻你 2020-11-28 01:50

I have an Enum desrcibed below:

public enum OrderType {

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


        
7条回答
  •  佛祖请我去吃肉
    2020-11-28 02:23

    Finally I found solution myself.

    I had to annotate enum with @JsonSerialize(using = OrderTypeSerializer.class) and implement custom serializer:

    public class OrderTypeSerializer extends JsonSerializer {
    
      @Override
      public void serialize(OrderType value, JsonGenerator generator,
                SerializerProvider provider) throws IOException,
                JsonProcessingException {
    
        generator.writeStartObject();
        generator.writeFieldName("id");
        generator.writeNumber(value.getId());
        generator.writeFieldName("name");
        generator.writeString(value.getName());
        generator.writeEndObject();
      }
    }
    

提交回复
热议问题