fastjson2 枚举类型
时间: 2023-11-07 17:05:34 浏览: 313
Fastjson2 支持枚举类型的序列化和反序列化。在序列化时,枚举类型会被转换成字符串类型,而在反序列化时,会根据字符串值来匹配枚举值。下面是一个示例代码:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
public class EnumDemo {
enum Gender {
MALE, FEMALE
}
public static void main(String[] args) {
User user = new User();
user.setName("Alice");
user.setGender(Gender.FEMALE);
String jsonStr = JSON.toJSONString(user, SerializerFeature.WriteEnumUsingToString);
System.out.println(jsonStr);
User user2 = JSON.parseObject(jsonStr, User.class);
System.out.println(user2.getName());
System.out.println(user2.getGender());
}
static class User {
private String name;
private Gender gender;
// getters and setters
}
}
```
在上面的示例中,我们定义了一个名为 `Gender` 的枚举类型,并在 `User` 类中使用它作为一个属性。在序列化时,我们使用了 `SerializerFeature.WriteEnumUsingToString` 来指定将枚举类型转换成字符串类型。在反序列化时,我们只需要调用 `JSON.parseObject` 方法即可,Fastjson2 会自动将字符串值转换成对应的枚举值。
阅读全文