中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-03-31 08:00:47 來源:網絡 閱讀:317 作者:HoneyMoose 欄目:大數據

為了序列化原生的容器對象例如? 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
?????*/
????@Test
????public?void?testMessagePack6Template()?{
????????logger.debug("MessagePack6Template?for?Template");

????????MessagePack?msgpack?=?new?MessagePack();
????????try?{

????????????//?Create?templates?for?serializing/deserializing?List?and?Map?objects
????????????Template<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?object
????????????List<String>?list?=?new?ArrayList<String>();
????????????list.add("msgpack");
????????????list.add("for");
????????????list.add("java");
????????????packer.write(list);?//?List?object

????????????//?Serialize?Map?object
????????????Map<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?object
????????????List<String>?dstList?=?unpacker.read(listTmpl);

????????????//?to?Map?object
????????????Map<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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白沙| 中西区| 广昌县| 武宣县| 专栏| 高要市| 大庆市| 腾冲县| 临沧市| 登封市| 榆树市| 桃源县| 康平县| 仪陇县| 吴旗县| 淳安县| 双牌县| 荔浦县| 平乐县| 原阳县| 云霄县| 宁海县| 和林格尔县| 丽江市| 蓝山县| 沂源县| 鄂尔多斯市| 临海市| 太保市| 长宁县| 偏关县| 怀安县| 和平县| 新民市| 枣阳市| 东宁县| 岑溪市| 仲巴县| 甘南县| 淮南市| 枣强县|