MessagePackJava0.6.X动态类型
我们知道 Java 是一个静态类型的语言。通过输入 Value MessagePack能够实现动态的特性。

创新互联公司专注于企业全网整合营销推广、网站重做改版、白云鄂网站定制设计、自适应品牌网站建设、成都h5网站建设、成都做商城网站、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为白云鄂等各大城市提供网站开发制作服务。
Value 有方法来检查自己的类型(isIntegerType(), isArrayType(), 等...),同时也转换为自己的类型 (asStringValue(), convert(Template))。
本代码可以在 https://github.com/cwiki-us-demo/messagepack-6-demo-java/blob/master/src/test/java/com/insight/demo/msgpack/MessagePack6DynamicTyping.java 中查看。
package com.insight.demo.msgpack;
import org.junit.Test;
import org.msgpack.MessagePack;
import org.msgpack.type.Value;
import org.msgpack.unpacker.Converter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import static org.msgpack.template.Templates.TString;
import static org.msgpack.template.Templates.tList;
/**
* MessagePack6Objects
*
* @author yhu
*/
public class MessagePack6DynamicTyping {
final Logger logger = LoggerFactory.getLogger(MessagePack6DynamicTyping.class);
/**
* Test MessagePack6Objects
*/
@Test
public void MessagePack6DynamicTyping() {
logger.debug("MessagePack6Objects for Objects");
// Create serialize objects.
List src = new ArrayList();
src.add("msgpack");
src.add("kumofs");
src.add("viver");
MessagePack msgpack = new MessagePack();
try {
// Serialize
byte[] raw = msgpack.write(src);
// Deserialize directly using a template
List dst1 = msgpack.read(raw, tList(TString));
// Or, Deserialze to Value then convert type.
Value dynamic = msgpack.read(raw);
List dst2 = new Converter(dynamic).read(tList(TString));
} catch (Exception ex) {
logger.error("MessagePack Serialization And Deserialization error", ex);
}
}
} https://www.cwiki.us/display/Serialization/QuickStart+For+MessagePack+Java+0.6.X
文章标题:MessagePackJava0.6.X动态类型
链接分享:http://www.jxjierui.cn/article/jppesg.html


咨询
建站咨询
