springmvc 序列化枚举类
Posted QQ_851228082
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springmvc 序列化枚举类相关的知识,希望对你有一定的参考价值。
springmvc中,经常用到枚举类转json。
比如一个枚举类
public enum MyEnum
INSTANCE1("code1","name1"),
INSTANCE2("code2","name2"),
;
private String code;
private String name;
MyEnum(String code, String name)
this.code = code;
this.name = name;
//getter and setter
springmvc json转换器默认使用jackson,序列化的结果是
["INSTANCE1","INSTANCE2"]
但一般期望序列化后结果是
["code":"code1","name":"name1","code":"code2","name":"name2"]
使用jackson2注解,类上添加注解JsonFormat,设置shape
import com.fasterxml.jackson.annotation.JsonFormat;
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum MyEnum
@RequestMapping("list")
public MyEnum[] myEnums()
return MyEnum.values();
序列化后
["code":"code1","name":"name1","code":"code2","name":"name2"]
fastjson序列化枚举类
首先在类上添加serializeEnumAsJavaBean
import com.alibaba.fastjson.annotation.JSONType;
@JSONType(serializeEnumAsJavaBean = true)
public enum MyEnum
使用toJSONString方法
JSONObject.toJSONString(MyEnum.values())
以上是关于springmvc 序列化枚举类的主要内容,如果未能解决你的问题,请参考以下文章