//序列化

public class AuthTypeEnumListJsonSerializer extends JsonSerializer<List> {

@Override

public void serialize(List list, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {

int[] integers = new int[list.size()];

for (int i = 0; i < list.size(); i++) {

integers[i] = list.get(i).getCode();

}

jsonGenerator.writeArray(integers, 0, integers.length);

}

}

//反序列化

public class AuthTypeListEnumJsonDeserializer extends JsonDeserializer<List> {

@Override

public List deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JsonProcessingException, IllegalArgumentException {

ArrayNode treeNode = jsonParser.readValueAsTree();

Field field;

try {

field = jsonParser.getCurrentValue().getClass().getDeclaredField(jsonParser.currentName());

} catch (NoSuchFieldException e) {

return null;

}

field.setAccessible(true);

if (!field.getType().equals(List.class)) {

return null;

}

    List<AuthTypeEnum> result = new ArrayList<>();
Iterator<JsonNode> elements = treeNode.elements();
while (elements.hasNext()) {
Integer appCase = elements.next().asInt();
AuthTypeEnum anEnum = AuthTypeEnum.codeFrom(appCase);
result.add(anEnum);
}
if (result.isEmpty()) {
return null;
} else {
return result;
} }

}

`

枚举类list序列化与反序列化的更多相关文章

  1. 初识序列化和反序列化,使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化

    序列化是将对象转换成字节流的过程,反序列化是把字节流转换成对象的过程.对象一旦被序列化,就可以把对象状态保存到硬盘的某个位置,甚至还可以通过网络发送给另外一台机器上运行的进程.本篇主要包括: ● 使用 ...

  2. 自定义fastjson对枚举类型的序列化及反序列化过程

    通常,fastjson在序列化及反序列化枚举时,一般以下几种策略: 1).根据枚举的name值序列化及反序列化(默认) 2).根据枚举的ordinal序列化及反序列化 3).根据枚举的toString ...

  3. .Net类的序列化和反序列化 - 进阶者系列 - 学习者系列文章

    今天看了下以前的一个工具的代码,其中涉及到.NET类的序列化和反序列化问题,所以就写一下. 这里说一下.NET类序列化的好处..NET类在序列化之前只是一个相对狭义的类.通过序列化,能够更好的保存该类 ...

  4. 【json】与【枚举】的序列化和反序列化

    参考:Jackson – Deserialization from json to Java enums 问题描述 java中使用枚举时,如果涉及到restful调用,不可避免会涉及到枚举的序列化和反 ...

  5. java基础知识回顾之javaIO类--java序列化和反序列化

    /** *  * 一:理解序列化反序列化及其应用 * 序列化:把堆内存的对象转化成字节流的过程. * 反序列化:把字节流序列恢复重构成对象的过程. * 对象的序列化的用途:1.把对象的字节序列持久化, ...

  6. C#中使用JavaScriptSerializer类实现序列化与反序列化

    1.添加引用 JavaScriptSerializer类的使用需要引用System.Web.Extensions.dll文件,根据路径:C:\Program Files (x86)\Reference ...

  7. C# 类的序列化和反序列化

    序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创 ...

  8. JsonHelper类(序列化和反序列化辅助类)

       1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Web; ...

  9. 用C#实现XML和实体类之间序列化和反序列化相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  10. java-IO处理类的序列化与反序列化

    package TestIo; import java.io.*; /** * 序列化 * * * 对象序列化 * * 一 创建对象 需要说明,想序列化的对象一定要是实现Serivalizable接口 ...

随机推荐

  1. JAVA学习笔记-10

    String类: 字符串是一个特殊的对象.字符串最大的特点:一旦被初始化就不可以被改变. String类适用于描述字符串事物.那么它就提供了多个方法对字符串进行操作. 常见的操作: 1.获取: int ...

  2. SPI主机Verilog代码实现

    前面已经提到过了SPI,在SPI从机的设计中已经讲过SPI的基本原理,这里就不再赘述.对于SPI的主机可以参考百度百科或则笔者前面写的SPI从机介绍的相关知识. 下面是SPI_master的代码 SP ...

  3. springboot thymeleaf常用标签

    xmlns:th="http://www.w3.org/1999/xhtml" <tr th:each="user,i : ${list}" th:cla ...

  4. 总结ref和out的区别

    之前每次遇到ref和out时,老是忘记他们的使用方法和区别.每次都要网上搜一下别人写的博客来回忆.这次干脆自己整合一下别人博客的内容,方便下次忘记时查询. 用途: 在C#中通过使用方法来获取返回值时, ...

  5. IIS部署HTTPS站点

    常用的IIS大体有二个版本: IIS8和IIS7,分别有不同的配置方法如下: IIS8.5以上版本 1).新建一个站点,切记尽量不要与旧http协议站点共用一个站点,容易冲突 2).先将https证书 ...

  6. k8s入门_RC、RS、Deployment

    RC 什么是RC: Replication Controller(副本控制器),RC能够保证pod在任意时间运行的副本数量,能够保证pod总是可用的. RC控制的pod的多个副本,每个副本都有独立的i ...

  7. 权昌TSC条码打印机终极使用教程与开发版本代码大全

    本教程使用的打印机型号:TSC TTP-244 Plus 官方文档 一.TSC打印机安装 1.机器安装 根据官方快速安装指南安装打印机,此处不详细说明,也可以看视频教程,唯一需要注意的地方就是碳带的方 ...

  8. SAP GGB0 校验

    需求,针对财务凭证分配号的要求 在满足条件下进行必填校验 在需要的位置 创建确认 创建步骤,一般通过点击就可以形成需要的前提逻辑,也可以通过 设置->专门方式 来进行自定义编写. 如果前提条件是 ...

  9. Easycode—MybatisPlus模板

    EasyCode使用指南 1.下载EasyCode插件 2.配置EasyCode 2.1.配置作者名称              2.2.配置代码内容生成模板(模板内容见文末)            ...

  10. 在Windows系统上安装和配置Jenkins自动发布

    一.安装jenkins的流程转载于: https://www.jianshu.com/p/de9c4f5ae7fa 二.在window中执行批处理文件bat或者powershell可以成功,但是Jen ...