MessagePack Java Jackson Dataformat - POJO 的序列化和反序列化
在本测试代码中,我们定义了一个 POJO 类,名字为 MessageData,你可以访问下面的链接找到有关这个类的定义。
POJO 的序列化和反序列化
你仅仅需要对 MessagePackFactory 进行实例化,然后传递参数到 com.fasterxml.jackson.databind.ObjectMapper 的构造方法。
然后你就可以用与 jackson-databind 相同的方法使用 MessagePack 格式化数据。
/**
* SerializationPOJO
*/
@Test
public void testMessagePackSerializationPOJO() { byte[] bytes = new byte[0];
String uuid = UUID.randomUUID().toString(); // Instantiate ObjectMapper for MessagePack
ObjectMapper objectMapper = new ObjectMapper(new MessagePackFactory()); MessageData pojo = new MessageData();
pojo.setUuid(uuid);
pojo.setName("CWIKI.US"); try {
// Serialize a Java object to byte array
bytes = objectMapper.writeValueAsBytes(pojo);
logger.debug("Length of Bytes: [{}]", bytes.length); // Deserialize the byte array to a Java object
MessageData deserialized = objectMapper.readValue(bytes, MessageData.class);
logger.debug("Deserialized Name: [{}]", deserialized.name); assertEquals("CWIKI.US", deserialized.name); } catch (JsonProcessingException ex) {
logger.error("Serialize Error", ex);
} catch (IOException e) {
e.printStackTrace();
} }
https://www.cwiki.us/display/Serialization/MessagePack+Jackson+Dataformat
MessagePack Java Jackson Dataformat - POJO 的序列化和反序列化的更多相关文章
- MessagePack Java Jackson Dataformat - Map 的序列化和反序列化
本测试方法,可以在 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java ...
- MessagePack Java Jackson Dataformat 在 Map 中不使用 String 为 Key 的序列化
当你希望在 Map 中不使用 String 为 Key,那么你需要使用 MessagePackKeySerializer 来为 key 进行序列化. 本测试方法,可以在 https://github. ...
- MessagePack Java Jackson Dataformat - 列表(List)的序列化和反序列化
在本测试代码中,我们定义了一个 POJO 类,名字为 MessageData,你可以访问下面的链接找到有关这个类的定义. https://github.com/cwiki-us-demo/serial ...
- MessagePack Java Jackson Dataformat 不使用 str8 数据类型的序列化
老的 msgpack-java(例如 0.6.7)并不支持 MessagePack str8 数据类型. 当你的希望的你的应用程序需要支持老的版本的话,你需要禁用这个数据类型,例如使用下面的语句: M ...
- MessagePack Java Jackson Dataformat - 安装
中文标题[MessagePack 的 Jackson 数据格式] 本页面中的所有示例程序,请到代码库 https://github.com/cwiki-us-demo/serialize-deseri ...
- MessagePack Java Jackson 序列化和反序列化 POJO 为 MessagePack 的数组类型用来与 msgpack-java:0.6 保持兼容性
在 msgpack-java 0.6 或者早期的版本中,POJO 在 MessagePack 中被序列化和反序列化为数组变量. 变量的顺序是基于 Java 类中变量的内部顺序了,这种本来是一种原生的序 ...
- MessagePack Java Jackson 在不关闭输出流(output stream)的情况下序列化多变量
com.fasterxml.jackson.databind.ObjectMapper 在默认的情况下在写出输入后将会关闭输出流(output stream). 如果你希望序列化多值变量在同一个输出流 ...
- MessagePack Java Jackson 在不关闭输入流(input stream)的情况下反序列化多变量
com.fasterxml.jackson.databind.ObjectMapper 在读取输入流变量的时候默认的将会关闭输入流. 如果你不希望关闭输入流,你可以设置 JsonParser.Feat ...
- pojo的序列化和反序列化
实例代码: package com.lky.pojo; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStrea ...
随机推荐
- 接口踩坑:Status (blocked:other)
1.请求接口时出现 Status (blocked:other) 2.原因分析:安装了Adblock 3.解决办法 1)关掉Adblock2)修改接口名称,不能用 ad 或者 XX ad XX 等名称 ...
- 怎样理解String的slice(), subString(), substr()三个方法
String.prototype.slice() 是js字符串的切片工具方法, 用于对字符串做'裁剪'操作, 不改变原字符串. 'helloworld'.slice(0,5); // 'hello'; ...
- 5.Shell变量
5.Shell变量本章介绍 shell 中所使用的变量.Bash 会自动给其中一些变量赋默认值.5.1 波恩Shell的变量Bash 使用一些和波恩 shell 同样的变量.有时,Bash 会给它赋默 ...
- ef core schema 指定架构
不知道很少使用Schema模型还是怎么,居然搜帖子没人说,虽然很简单但是还是想记录一下坑 命名空间 using System.ComponentModel.DataAnnotations.Schema ...
- hadoop面试题(自己整理版)
1. hadoop 运行原理2. mapreduce 原理3. mapreduce 的优化4.举一个简单的例子说下 mapreduce 是怎么运行的5. hadoop 中 combiner 的作用6. ...
- 实现表单label两端对齐
主要使用css3属性 text-align: justify; text-align-last: justify; 上代码: <ul> <li> <label class ...
- java 获取视频时间
//先将视频保存到项目生成临时文件,获取时长后删除临时文件 // 使用fastdfs进行文件上传 @RequestMapping("/uploadVideoToFast") @Re ...
- Delphi 10.3.2来了!
昨晚,官方正式发布了Delphi 10.3.2,增加对Mac 64应用的开发,支持Linux桌面开发,这个是通过集成fmxlinux实现的,同时修正400个bug,编译器,102个ide,84个fmx ...
- 怎么提高U盘传输文件的性能?
U盘使用时间久了,其传输复制文件速度就可能会变得有些慢.出现这个问题的原因有很多,除了U盘本身的问题外,也可能会有电脑设置方面的因素在影响.好系统下面就来告诉大家解决U盘传输复制文件速度慢的几个小技巧 ...
- source命令用法:
命令格式 source FileName 作用 在当前bash环境下读取并执行FileName中的命令. 注意 该命令通常用命令"."来替代.如:source .bash_rc 与 ...