我喜欢使用Messagepack序列化我的java类对象。我的类结构是这样的
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中注册了每个类。
发布于 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
发布于 2013-10-15 23:17:01
对于嵌套结构,我推荐使用FlexJson;您可以避免所有与嵌套结构相关的样板代码:
A obj1 = new A()
String json = JSONSerializer().deepSerialize(obj1);
//get back
A obj2 = JSONDeserializer<A>().deserialize(json);https://stackoverflow.com/questions/11097857
复制相似问题