首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Messagepack序列化

使用Messagepack序列化
EN

Stack Overflow用户
提问于 2012-06-19 17:09:32
回答 2查看 2.6K关注 0票数 4

我喜欢使用Messagepack序列化我的java类对象。我的类结构是这样的

代码语言:javascript
复制
public class A
 {
   private InnerClass obj;
   //Some other variables with getters and setters.
   // There will be a getter and setter for obj(InnerClass) aswell.
 }
 class InnerClass
 {
  //Some variables with getters and setters.
 }
 class InnerDerivedClass extends InnerClass
 {
  //some variables with getters and setters.
 }

我喜欢做的是为InnerDerivedClass创建对象并为其赋值。然后,当我使用Messagepack序列化和反序列化A类对象时,我会将该对象作为基类object.Now添加到A类中。我无法将该对象作为InnerDerivedClass对象获取,而是将其作为InnerClass obj获取。如何使用MessagePack来实现这一点。我没有使用任何注释,而是在messagepack中注册了每个类。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-02 18:30:49

我查看了MessagePack的文档和示例,但我找不到任何关于嵌套序列化的内容,只有简单的类型和映射。

我建议你使用GSON来解决你的问题1) Java - Gson parsing nested within nested 2) Deserializing arbitrary object json arrays in inner classes with Gson or nested inner class

您可以尝试使用JSON-SIMPLE。它会将您的类表示为嵌套地图https://code.google.com/p/json-simple/wiki/MappingBetweenJSONAndJavaEntities

票数 0
EN

Stack Overflow用户

发布于 2013-10-15 23:17:01

对于嵌套结构,我推荐使用FlexJson;您可以避免所有与嵌套结构相关的样板代码:

代码语言:javascript
复制
A obj1 = new A()
String json = JSONSerializer().deepSerialize(obj1);

//get back
A obj2 = JSONDeserializer<A>().deserialize(json);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11097857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档