我需要将对象从一个套接字发送到另一个套接字,我想使用JSON进行序列化。 每个json对象都必须存储它的类型。我的计划是换我对象:json中的Gson商店对象类型
{
/* the type */ "_type_": "my.package.MyClass",
/* the actual object */ "_data_": {
...
}
}
我试图通过编写此序列化适配器
从理论上讲,这个工程要实现这一点,但是当我试图序列嵌套的对象,一些失败这样
因为只有MyType
将被包装,所得JSON会是这个样子:
{
"__type__": "my.package.MyType",
"__data__": {
(No "__type__" field here...)
...
}
}
是否有可能序列化对象与他们的类型是这样的?
它看起来像你正在试图解决类似的问题[Gson - 反序列化到基于字段值的特定对象类型](https://stackoverflow.com/questions/21767485/)。你能否检查一下,让我们知道目前的问题是否重复? –
@SergeyBrunov不是真的。我需要一个适用于每种类型的解决方案/我不知道哪些类型将被序列化... – NyxMC
好,我明白了这一点。你可以请看看这些:[Java的 - 如何暴露与Gson序列化时的类名](https://stackoverflow.com/questions/19129711),[java-gson - 如何在序列化时包含类名属性任何类型的对象](https://stackoverflow.com/questions/39999278)? –