MessagePack Java 0.6.X List, Map 对象的序列化和反序列化
发表于:2024-11-22 作者:热门IT资讯网编辑
编辑最后更新 2024年11月22日,为了序列化原生的容器对象例如 List 和 Map 对象,你必须使用 Template。Template 对象是 serializer 和 deserializer 的配对。例如,为了序列化一个 Li
为了序列化原生的容器对象例如 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> listTmpl = tList(TString); Template
https://www.cwiki.us/display/Serialization/QuickStart+For+MessagePack+Java+0.6.X