MessagePack Java 0.6.X List, Map 对象的序列化和反序列化

为了序列化原生的容器对象例如  List 和 Map 对象,你必须使用 Template

Template 对象是 serializer 和 deserializer 的配对。例如,为了序列化一个 List 对象,在 List 对象中 Integer 对象为元素,你可以使用下面的方法来创建一个模板对象(Template object)。

Template listTmpl = Templates.tList(Templates.TInteger);

类 tList, TInteger 是静态方法,字段为 Templates。

一个 List 和 Map 对象的用例如下显示:

本代码可以在 https://github.com/cwiki-us-demo/messagepack-6-demo-java/blob/master/src/test/java/com/insight/demo/msgpack/MessagePack6Template.java 中查看。

package com.insight.demo.msgpack;import org.junit.Test;
import org.msgpack.MessagePack;
import org.msgpack.packer.Packer;
import org.msgpack.template.Template;
import org.msgpack.unpacker.Unpacker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import static org.msgpack.template.Templates.*;/*** MessagePack6Template** @author yhu*/
public class MessagePack6Template {final Logger logger = LoggerFactory.getLogger(MessagePack6Template.class);/*** Test MessagePack6Template*/@Testpublic void testMessagePack6Template() {logger.debug("MessagePack6Template for Template");MessagePack msgpack = new MessagePack();try {// Create templates for serializing/deserializing List and Map objectsTemplate<List<String>> listTmpl = tList(TString);Template<Map<String, String>> mapTmpl = tMap(TString, TString);//// Serialization//ByteArrayOutputStream out = new ByteArrayOutputStream();Packer packer = msgpack.createPacker(out);// Serialize List objectList<String> list = new ArrayList<String>();list.add("msgpack");list.add("for");list.add("java");packer.write(list); // List object// Serialize Map objectMap<String, String> map = new HashMap<String, String>();map.put("sadayuki", "furuhashi");map.put("muga", "nishizawa");packer.write(map); // Map object//// Deserialization//byte[] bytes = out.toByteArray();ByteArrayInputStream in = new ByteArrayInputStream(bytes);Unpacker unpacker = msgpack.createUnpacker(in);// to List objectList<String> dstList = unpacker.read(listTmpl);// to Map objectMap<String, String> dstMap = unpacker.read(mapTmpl);} catch (Exception ex) {logger.error("MessagePack Serialization And Deserialization error", ex);}}
}

https://www.cwiki.us/display/Serialization/QuickStart+For+MessagePack+Java+0.6.X

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

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

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

相关文章

世界领先的界面设计公司:The Skins Factory

该公司的网站&#xff1a; http://www.theskinsfactory.com/skinsfactory/ 该公司诞生于2000年&#xff0c;由一群狂热的界面爱好者&#xff0c;带着对GUI的热情和大胆的洞察力创立。很快&#xff0c;皮肤工厂便成长为世界领先的、真正的、革命性界面解决方案提供商。 更多的精…

HDU 1253 胜利大逃亡 题解

胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 44540 Accepted Submission(s): 15483 Problem DescriptionIgnatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会.魔王住在一个城堡…

lstm需要优化的参数_使用PyTorch手写代码从头构建LSTM,更深入的理解其工作原理...

这是一个造轮子的过程&#xff0c;但是从头构建LSTM能够使我们对体系结构进行更加了解&#xff0c;并将我们的研究带入下一个层次。LSTM单元是递归神经网络深度学习研究领域中最有趣的结构之一&#xff1a;它不仅使模型能够从长序列中学习&#xff0c;而且还为长、短期记忆创建…

有哪些漂亮的中国风 LOGO 设计?

提到中国风的logo&#xff0c;我觉得首先登场的应该是北京故宫博物院的logo&#xff0c;铛&#xff01;故宫博物院的logo&#xff0c;从颜色&#xff0c;到外形&#xff0c;到元素&#xff0c;无一例外&#xff0c;充满了中国风的味道&#xff0c;可谓是中国风中的典型。同一风…

大家放松下,仿《大腕》经典对白

仿《大腕》经典对白&#xff1a; 一定要找那最流行的框架&#xff0c; 用功能最强大编辑器&#xff0c; 做就要做最复杂的系统&#xff0c; 轻量级的绝对不行&#xff0c; 框架最简单也得是&#xff33;&#xff30;&#xff32;&#xff29;&#xff2e;&#xff27;&…

MySQL-8.0.12源码安装实例

1、通过官网下载对应的版本后&#xff0c;通过FTP上传至云服务器的/usr/local/src 目录 2、解压缩文件 [rootJSH-01 src]# ls mysql-boost-8.0.12.tar.gz [rootJSH-01 src]# tar zxvf mysql-boost-8.0.12.tar.gz [rootJSH-01 src]# ls mysql-8.0.12 mysql-boost-8.0.12.tar.gz…

python3常用模块_Python3 常用模块

一、time与datetime模块 在Python中&#xff0c;通常有这几种方式来表示时间&#xff1a; 时间戳(timestamp)&#xff1a;通常来说&#xff0c;时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”&#xff0c;返回的是float类型。 格式…

Windows下的HEAP溢出及其利用

Windows下的HEAP溢出及其利用 作者: isno 一、概述 前一段时间ASP的溢出闹的沸沸扬扬&#xff0c;这个漏洞并不是普通的堆栈溢出&#xff0c;而是发生在HEAP中的溢出&#xff0c;这使大家重新认识到了Windows下的HEAP溢出的可利用性。其实WIN下的HEAP溢出比Linux和SOLARIS下面的…

地方政府不愿房价下跌 救市或化解房地产调控

地方政府不愿房价下跌 "救市"或化解房地产调控 2008年05月09日 07:29:38  来源&#xff1a;上海证券报 漫画 刘道伟 由于房地产业与地方政府利益攸关&#xff0c;地方政府最不愿意看到房价下跌。中央房地产调控政策刚刚导致部分城市的房价步入调整&#xff0c;一些…

App移动端性能工具调研

使用GT的差异化场景平台描述release版本development版本Android在Android平台上&#xff0c;如果希望使用GT的高级功能&#xff0c;如“插桩”等&#xff0c;就必须将GT的SDK嵌入到被调测的应用的工程里&#xff0c;再配合安装好的GT使用。支持AndroidiOS在iOS平台上&#xff0…

UITabBar Contoller

。UITabBar中的UIViewController获得控制权&#xff1a;在TabBar文件中添加&#xff1a;IBOutlet UITabBar *myTabBar; //在xib中连接tabBar&#xff1b;(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:      (UIViewControlle…

python3.5安装pip_win10上python3.5.2第三方库安装(运用pip)

1 首先在python官网下载并安装python。我这儿用的是python3.5.2&#xff0c;其自带了pip。如果你选择的版本没有自带pip&#xff0c;那么请查找其他的安装教程。 2 python安装好以后&#xff0c;我在其自带的命令提示符窗口中输入了pip&#xff0c;结果尴尬了&#xff0c;提示我…

C语言程序设计 练习题参考答案 第八章 文件(2)

/* 8.&#xff18;从文件ex88_1.txt中取出成绩&#xff0c;排序后&#xff0c;按降序存放EX88_2.TXT中 */ #include "stdio.h" #define N 10 struct student { int num; char name[20]; int score[3]; /*不能使用float*/ float average; }; void sort(struc…

语法上的小trick

语法上的小trick 构造函数 虽然不写构造函数也是可以的&#xff0c;但是可能会开翻车&#xff0c;所以还是写上吧。&#xff1a; 提供三种写法&#xff1a; ​ 使用的时候只用&#xff1a; 注意&#xff0c;这里的A[i]gg(3,3,3)的“gg”不能打括号&#xff0c;否则就是强制转换…

Ubuntu18.04如何让桌面软件默认root权限运行?

什么是gksu? 什么是gksu:Linxu中的gksu是系统中的su/sudo工具,如果安装了gksu,在终端中键入gksu会弹出一个对话框. 安装gksu: 在Ubuntu之前的版本中是继承gksu工具的,但是在Ubutu18.04中并没有集成, 在Elementary OS中连gksu的APT源都没有. Ubuntu18.04 安装和使用gksu: seven…

win10诊断启动后联网_小技巧:win10网络共享文件夹出现错误无法访问如何解决?...

win10系统共享文件夹时在资源管理器中的网络里能够看到所共享的文件夹&#xff0c;但在打开文件夹时却出现 Windows无法访问 Desktop-r8ceh55新建文件夹 请检查名称的拼写。否则&#xff0c;网络可能有问题。要尝试识别并解决网络问题&#xff0c;请单击“诊断”的错误提示&…

两段关于统计日期的sql语句

统计月份&#xff1a;selectleft(convert(char(10),[Article_TimeDate],102),7) as月份, count(*) as数量from[hdsource].[dbo].[article]groupbyleft(convert(char(10),[Article_TimeDate],102),7)orderby1统计年份&#xff1a; selectleft(convert(char(10),[Article_TimeDat…

apache配置文件详解与优化

apache配置文件详解与优化 一、总结 一句话总结&#xff1a;结合apache配置文件中的英文说明和配置详解一起看 1、apache模块配置用的什么标签&#xff1f; IfModule 例如&#xff1a; <IfModule dir_module>DirectoryIndex index.html 索引文件 首页文件&#xff08;首页…

帆软报表(finereport)单元格函数,OP参数

单元格模型&#xff1a;单元格数据和引用&#xff1a;数据类型、实际值与显示值、单元格支持的操作单元格样式&#xff1a;行高列宽、隐藏行列、自动换行、上下标、文字竖排、大文本字段分页时断开、标识说明、格式刷单元格Web属性&#xff1a;web显示、web编辑风格、控件实际值…

sklearn 安装_sklearn-classification_report

原型sklearn.metrics.classification_report(y_true, y_pred, labelsNone, target_namesNone, sample_weightNone, digits2)参数y_true&#xff1a;1维数组或标签指示数组/离散矩阵&#xff0c;样本实际类别值列表y_pred&#xff1a;1维数组或标签指示数组/离散矩阵&#xff0c…