Java是一種面向?qū)ο缶幊陶Z言,支持枚舉類型。在Java編程中,枚舉類型常用來定義一些常量集合,例如星期幾、月份等等。Java的json庫中,也對(duì)枚舉類型做了處理,可以將枚舉類型轉(zhuǎn)換成json對(duì)象。
下面是將Java枚舉類型轉(zhuǎn)換成json對(duì)象的示例代碼:
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; public class EnumToJson { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(MyEnum.class, new MyEnumSerializer()); mapper.registerModule(module); MyEnum myEnum = MyEnum.VALUE1; String json = mapper.writeValueAsString(myEnum); System.out.println(json); } } enum MyEnum { VALUE1("value1"), VALUE2("value2"); private String value; MyEnum(String value) { this.value = value; } public String getValue() { return value; } } class MyEnumSerializer extends JsonSerializer{ @Override public void serialize(MyEnum value, JsonGenerator gen, SerializerProvider serializers) throws IOException { gen.writeStartObject(); gen.writeStringField("value", value.getValue()); gen.writeEndObject(); } }
在本示例代碼中,我們定義了一個(gè)枚舉類型MyEnum,其中包含了兩個(gè)值。我們通過使用jackson庫中的ObjectMapper對(duì)象以及自定義的MyEnumSerializer類,將MyEnum對(duì)象轉(zhuǎn)換成json字符串,并輸出到控制臺(tái)。