`
pluto418
  • 浏览: 169831 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

msgpack简介(续) 复杂的数据类型

    博客分类:
  • J2EE
阅读更多
复杂的类型 JavaBean里包括 List 和Bean类型
import java.io.Serializable;

import org.msgpack.annotation.MessagePackMessage;

@MessagePackMessage  
public class User implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	public String username;
	public int age;
}


import java.io.Serializable;
import java.util.List;

import org.msgpack.annotation.MessagePackMessage;

@MessagePackMessage  
public class BeanMessage implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public String str;	
	public List<Double> nums;
	public User user;

}


测试类
import java.util.ArrayList;
import java.util.List;

import org.msgpack.MessagePack;

public class MessageMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List<Double> nums = new ArrayList<Double>();
		nums.add(0.05);
		nums.add(0.01);
		
		User user = new User();
		user.username = "pluto418";
		user.age = 24;
		
		BeanMessage src = new BeanMessage();
		src.str = "test";
		src.nums = nums;
		src.user = user;
		
		// Serialize
		byte[] raw = MessagePack.pack(src);

		// Deserialize
		BeanMessage dst = MessagePack.unpack(raw, BeanMessage.class);
		System.out.println(dst.str + ":" + dst.nums);
	}
}

分享到:
评论

相关推荐

    msgpack和msgpack-python包.zip

    它能够将复杂的数据结构转换为二进制表示,从而减少存储空间和网络传输的开销。msgpack支持多种编程语言,包括Python。在Python中,msgpack通常用于处理和交换数据,特别是当处理大数据或进行跨语言通信时。 ...

    msgpack

    4. **直接映射到机器字节**:许多编程语言的数据类型可以直接映射到Msgpack的格式,避免了类型转换的开销。 在实际应用中,Msgpack常用于微服务通信、日志收集、数据库持久化等领域。由于其轻量级和高效性,它也被...

    iOS 开发 使用msgpack传输数据

    这里需要注意的是,msgpack不保证类型安全,因此在解码时可能会遇到类型匹配问题,需要确保解码的类型与原始数据一致。 数据提交到服务器通常通过HTTP请求实现,比如使用`NSURLSession`或第三方库如Alamofire。你...

    msgpack(C语言)简单用例

    MsgPack支持多种数据类型,包括整型、浮点型、字符串、数组、映射等,可以根据实际需求进行序列化和反序列化操作。 在实际应用中,你可能需要处理更复杂的数据结构,例如嵌套的数组和映射。MsgPack提供了丰富的API...

    C/C++ msgpack头文件和应用实例整理

    对于复杂类型,如数组、映射(字典),msgpack会自动处理。但是,自定义的C++类型需要进行注册才能正确地序列化和反序列化。你可以使用`msgpack::type::adl_helper`或者`msgpack::object`和`msgpack::object::with_...

    前端项目-msgpack5.zip

    3. **自定义类型**:Msgpack5提供扩展点,允许开发者定义自定义类型,使得原本无法直接序列化的对象(如Date、RegExp等)或者业务特定的数据结构也能被正确地编码和解码。 4. **浏览器兼容**:此项目不仅适用于Node....

    msgpack-0.5.7

    `msgpack-0.5.7` 支持多种数据类型,包括整型(int8, int16, int32, int64)、无符号整型(uint8, uint16, uint32, uint64)、浮点数(float32, float64)、布尔值(true, false)、字符串、数组、映射(字典)以及...

    msgpack库封装模块

    最近研究cc直播协yi的时候,发现他的xx使用了msgpack封装有关于msgpack的介绍,官方是这样说的:比json更小的储存量,但是却和json相似。实际上也就是一系列的字节操作,对不同的类型设置了不用的标识,uint8-64,sign...

    msgpack工具库二进制格式序列化反序列化

    在Java开发中,msgpack工具库提供了对这种二进制序列化和反序列化的支持,尤其适用于大数据处理、网络通信以及分布式系统中的数据交换。 **序列化与反序列化** 序列化是将对象转换为可存储或可传输的形式的过程,...

    Delphi msgpack序号还原TFDParams

    在`Delphi`中,`msgpack`通常被用来处理与服务器或中间件之间的通信,特别是在需要传递复杂数据结构时,如`TFDParams`。 `TFDParams`是`FireDAC`组件库中的一个类,它是`FireDAC`参数集合的容器,用于存储SQL语句的...

    msgpack-python-0.4.2.tar

    /msgpack/msgpack-python What's this ------------ `MessagePack &lt;http://msgpack.org/&gt;`_ is a fast, compact binary serialization format, suitable for similar data to JSON. This package provides CPython...

    RPC调用msgpack序列化问题分析.docx

    MsgPack 序列化简介 MsgPack 是一种高效的二进制序列化格式,允许跨语言交换数据。它比 JSON 序列化性能更好,体积也更小。MsgPack 的优点在于它可以将小整数编码成单个字节,短字符串也只需一个额外的字节来存储。...

    swift-Swift的MsgPack序列化和反序列化器

    5. **复杂类型的支持**:SwiftMsgPack库也支持序列化和反序列化更复杂的类型,如数组、字典、自定义结构体和枚举。对于自定义类型,你需要确保它们遵循`Encodable`和`Decodable`协议。 6. **错误处理**:在实际应用...

    前端项目-msgpack-lite.zip

    5. **优化**:根据项目需求,可能需要调整msgpack-lite的配置,例如设置自定义的类型映射,或者使用不同的编码策略以提高性能。 总之,msgpack-lite是前端开发者处理大数据和优化网络传输的利器,它提供了简单易用...

    msgpack-java-master

    msgpack - MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.

    PyPI 官网下载 | msgpack-numpy-0.4.0.tar.gz

    2. **自动类型检测**:msgpack-numpy可以识别并正确处理各种NumPy数据类型,包括浮点数、整数、布尔值、复数以及各种形状和类型的数组。 3. **内存优化**:在序列化过程中,msgpack-numpy会尽可能地避免复制数据,...

    msgpack-java-main.zip

    MessagePack则采用二进制编码,对于数值、布尔值、字符串、数组和映射(类似JSON的object)等类型,都有一套高效且紧凑的编码规则,这使得MessagePack在传输大量数据时能显著减少网络带宽的消耗,同时也加快了序列化...

    msgpack-rpc-ruby.zip

    msgpack-rpc-ruby 是 MessagePack-RPC 的 Ruby 实现。安装:rake install或者:gem install msgpack-rpc 标签:msgpack

    通信中使用的数据格式(xml,json,pb.msgpack)

    XML文件具有良好的可读性和结构化特性,适合存储和传输复杂的数据。然而,XML的体积相对较大,解析速度较慢,适合于对数据结构要求严格且对性能要求不太高的场景。 **JSON (JavaScript Object Notation)** JSON是...

Global site tag (gtag.js) - Google Analytics