【发布时间】:2020-08-18 13:55:48
【问题描述】:
'us.package.high.MyClass' 不在受信任的包中: java.util, java.lang,us.package.low.MyClass
类是相同的。如何在序列化期间更改 typeId(类名)? 现在是 'us.package.high.MyClass',但我需要将其设为 'MyClass';
【问题讨论】:
-
你能举个例子吗?你现在得到了什么,你想收到什么?
'us.package.high.MyClass' 不在受信任的包中: java.util, java.lang,us.package.low.MyClass
类是相同的。如何在序列化期间更改 typeId(类名)? 现在是 'us.package.high.MyClass',但我需要将其设为 'MyClass';
【问题讨论】:
使用 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 { \\... }
【讨论】:
Serializable 接口:`public class MyClass implements Serializable { \\... }