Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

MessagePack Java 0.6.X dynamic type

Shulou Source: shulou.com Published: 2022-06-02 23:50:01 09月22日 Update

We know that Java is a statically typed language. Dynamic features can be achieved by entering Value MessagePack.

Value has a way to check its own type (isIntegerType (), isArrayType (), etc.) and also converts it to its own type (asStringValue (), convert (Template)).

This code can be viewed in 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

Tags: Type dynamic code simultaneous feature language static check input Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Redmi Docker vpn OPPO Reno Xiaomi