【问题标题】:How can I change class name during serialization using Jackson如何在使用 Jackson 进行序列化期间更改类名
【发布时间】:2020-08-18 13:55:48
【问题描述】:

'us.package.high.MyClass' 不在受信任的包中: java.util, java.lang,us.package.low.MyClass

类是相同的。如何在序列化期间更改 typeId(类名)? 现在是 'us.package.high.MyClass',但我需要将其设为 'MyClass';

【问题讨论】:

  • 你能举个例子吗?你现在得到了什么,你想收到什么?

标签: java jackson


【解决方案1】:

使用 Jackson 的 @JsonTypeInfo 注解:

package us.package.high.MyClass;

@JsonTypeInfo(include=As.WRAPPER_OBJECT, use=Id.NAME)
public class MyClass {

...

}

如果您使用 Jackson 来处理 JSON,它会有所帮助。

如果您正在使用其他库,请搜索该功能。

如果您没有使用任何库来处理 JSON,请尝试实现 toString() 方法,实际上实现了 Serializable 接口:

public  class MyClass  implements Serializable { \\... }

【讨论】:

  • 不。没有帮助
  • 更新:如果您使用 Jackson 来处理 JSON,它会有所帮助。如果您正在使用其他库,请搜索该功能。如果您没有使用任何库来处理 JSON,请尝试实现 Serializable 方法或实现Serializable 接口:`public class MyClass implements Serializable { \\... }
  • 在 SO 上查看这些帖子:stackoverflow.com/q/33151974/390462
猜你喜欢
  • 2019-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
  • 2015-10-07
相关资源
最近更新 更多