MessagePack Java Jackson Dataformat 在 Map 中不使用 String 为 Key 的序列化

当你希望在 Map 中不使用 String 为 Key,那么你需要使用 MessagePackKeySerializer 来为 key 进行序列化。

本测试方法,可以在 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java 中找到。

/*** testMessagePackSerializationMapKey*/
@Test
@JsonSerialize(keyUsing = MessagePackKeySerializer.class)
public void testMessagePackSerializationMapKey() {logger.debug("testMessagePackSerializationNotCloseInputStream");byte[] bytes = new byte[0];Integer uuid_a = 101;Integer uuid_b = 102;// Instantiate ObjectMapper for MessagePackObjectMapper objectMapper = new ObjectMapper(new MessagePackFactory());Map<Integer, MessageData> map = new HashMap<>();MessageData messageData = new MessageData();// Element A in MAPmessageData.setUuid(UUID.randomUUID().toString());messageData.setName("CWIKI.US - A");map.put(uuid_a, messageData);// Element B in MAPmessageData = new MessageData();messageData.setUuid(UUID.randomUUID().toString());messageData.setName("CWIKI.US - B");map.put(uuid_b, messageData);try {// Serialize a Java object to byte arraybytes = objectMapper.writeValueAsBytes(map);logger.debug("Length of Bytes: [{}]", bytes.length);// Deserialize the byte array to a MAPMap<String, MessageData> deserialized = objectMapper.readValue(bytes, new TypeReference<Map<Integer, MessageData>>() {});logger.debug("Deserialized MAP Count: [{}]", deserialized.size());logger.debug("MAP index 0: [{}]", deserialized.get(uuid_a).getName());assertEquals("CWIKI.US - A", deserialized.get(uuid_a).getName());} catch (JsonProcessingException ex) {logger.error("Serialize Error", ex);} catch (IOException e) {e.printStackTrace();}
}

 

https://www.cwiki.us/display/Serialization/MessagePack+Jackson+Dataformat

转载于:https://www.cnblogs.com/huyuchengus/p/11330476.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

批量获取远程计算机MAC

功能及用途 用于采集局域网所有计算机信息主要是mac地址&#xff0c;ip地址&#xff0c;主机名。 格式化读写函数 fprintf()格式化写 fscanf()格式化读 使用说明 IP文件&#xff1a;ip.txt IP文件格式&#xff1a;ip空格其他信息 IP文件和该执行文件放同一目录 代码 // ALLMAC.…

网络通信和网络编程

一、软件结构 C/S Client/Server B/S Browser/Server 二、网络通信协议 1、协议分类 UDP 应用&#xff1a; TCP/IP 三、网络编程三要素 1、协议&#xff08;UDP、TCP/IP&#xff09; 2、IP地址 3、端口号 转载于:https://www.cnblogs.com/wmqiang/p/11333351.html

[Android] 输入系统(二)

在上一篇文章的最后&#xff0c;我们发现InputDispatcher是调用了InputChannel->sendMessage把键值发送出去&#xff0c;那么相应的&#xff0c;也有接收键值的地方。接收函数是InputChannel->receiveMessage。 在InputConsumer::consume内找到了receiveMessage&#xff…

字体--Ubuntu手记之系统配置

今天上午终于实现了一次无windows办公。但是一上午下来竟然感到有些眼睛花&#xff0c;也不知道是因为ubunbtu的字体没配好&#xff0c;于是开始琢磨着下几个字体&#xff0c;还是照老规矩&#xff0c;先到社区里面搜。找到一个比较好的地址里面的字体比较多&#xff0c;"…

MM 常用table

*------------------------------------------------* MM 模块总结*------------------------------------------------mara " 物料主表makt " 物料描述 likp " 销售订单-Headerlips " 销售定单-Itemproj " 项目定义prps " 采购定…

TCP协议和套接字

一、TCP通信概述&#xff0c;逻辑连接就是三次握手 二、客户端和服务端实现TCP协议通信基本步骤 1、客户端套接字对象 Socket 2、服务端套接字ServerSocket 客户端补充完整代码&#xff1a;除了创建各自的Socket对象有关代码&#xff0c;其他代码一样&#xff0c;就输出流的输出…

【常用术语缩写】

---abbreviation--- href&#xff1a;Hypertext Reference的缩写。意思是超文本引用&#xff1b;gc()方法&#xff1a;garbage collector&#xff1b;MDI(Multiple Document Interface)就是所谓的多文档界面;ifconfig: network interfaces configuring&#xff0c;网络接口配置…

[摘抄]MySQL数据库系统的常规管理介绍

在运行数据库系统时&#xff0c; MySQL的使用相当简单&#xff0c;且进行MySQL安装和使用所需的工作也很少。然而&#xff0c;不论您是什么级别的专家&#xff0c;MySQL的安装程序都不能自动运行。必须有人来监视它以确保它能顺利和有效地运行&#xff0c;有时还必须知道当问题…

齐博V7仿爱丽图库模板(含齐博图库V1.0模板)

齐博模板图片模板 本齐博模板包含两个版本&#xff0c;分别适用于齐博V7整站的图片模型模板和齐博图库程序V1版。 1、图片独立频道页设置 整站后台添加独立频道页面名称&#xff1a;图片专题 网页头部模板&#xff1a;************************ 网页中间模板&#xff1a;******…

我的第一份工作 (2007.2.28--2008.2.28) 上海三高计算机中心有限公司

在这整整的一年的时间里,我完成了从学生到工人的转变, 知识也积累了挺多, 转载于:https://www.cnblogs.com/xinhua327/articles/1085169.html

信息安全官谁:逼近的挑战,你准备好了吗?

作为一个首席信息安全官&#xff08;CISO&#xff09;并不easy&#xff0c;一方面要时刻面对董事会提出的难题。还有一方面在处理解决公司的安全威胁时&#xff0c;又不能超出预算范围。然而首席信息安全官的资源保持不变时&#xff0c;威胁环境本身却是千变万化、日新月异。因…

【hash】Seek the Name, Seek the Fame

【哈希和哈希表】Seek the Name, Seek the Fame 题目描述 The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. They seek the name, and at the same time seek the …

sql server 2005 数据库状态 变成 可疑的解决方案

ALTER DATABASE [default-207] SET EMERGENCYALTER DATABASE [default-207] SET SINGLE_USERDBCC CheckDB ([default-207] , REPAIR_ALLOW_DATA_LOSS)ALTER DATABASE [default-207] SET MULTI_USER 其中 [default-207] 为可疑数据库。数据库如果是有-没有加[]会杯具的。转载…

WAP开发笔记(1)-.net移动页面中html控件不能直接显示的解决

最近这几天做了一些.NET移动控件的应用开发&#xff0c;与普通的asp.net页面比起来还是有点差别的。在.net移动页面中是不能直接使用普通的html控件的&#xff0c;这样给开发带来许多的不方便&#xff0c;因为感觉.net移动控件有很多功能都不能实现&#xff08;也可能是我不太熟…

BufferedInputStream学习笔记

【本文转载于http://icanfly.iteye.com/blog/1207397】 BufferedInputStream是一个带有缓冲区域的InputStream,它的继承体系如下&#xff1a; InputStream |__FilterInputStream |__BufferedInputStream首先了解一下FilterInputStream&#xff1a; FilterInputStrea…

文件上传案例——客户端和服务端套接字

一、文件上传原理 文件上传下载就是反复的输入流和输出流的read和wirte方法&#xff08;反复的内存和硬盘的交互&#xff09;&#xff1b; 二、实现 1、客户端实现&#xff1a; 2、服务端实现&#xff1a; 3、解决客户端和服务端两个程序在完成上传下载之后没有停止 原因是whil…

flash时间轴控制命令

在Flash动画脚本中&#xff0c;控制影片播放的命令包括 play、stop、gotoAndPlay、gotoAndStop等&#xff0c;下面我们将分别对这些命令进行介绍。1、 play(播放)stop(停止)命令通过为关键帧、按钮或影片剪辑实例添加play或stop命令可以对Flash影片的播放或停止进行控制。play命…

大家一起来博皮——2:液态布局和固态布局,页面框架篇

大家一起来博皮虽然博客园的皮肤很多&#xff0c;而且很漂亮。但是那些自己想更“个性化”自己博客皮肤的朋友&#xff0c;对博客园的皮肤模板还是颇多不满&#xff0c;认为皮肤的结构过于混乱&#xff0c;css样式难以掌控。针对这种情况&#xff0c;博客园开发团队在2007年底&…

C#调用DLL文件时参数对应表

Wtypes.h 中的非托管类型非托管 C 语言类型托管类名说明HANDLEvoid*System.IntPtr32 位BYTEunsigned charSystem.Byte8 位SHORTshortSystem.Int1616 位WORDunsigned shortSystem.UInt1616 位INTintSystem.Int3232 位UINTunsigned intSystem.UInt3232 位LONGlongSystem.Int3232 …

基于JQuery实现滚动到页面底端时自动加载更多信息

基于JQuery实现滚动到页面底端时自动加载更多信息关键代码&#xff1a;代码如下: var stoptrue; $(window).scroll(function(){ totalheight parseFloat($(window).height()) parseFloat($(window).scrollTop()); if($(document).height() < totalheight){ if(stoptrue){…