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.pswp.cn/news/276900.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276900.shtml
英文地址,請注明出處:http://en.pswp.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…