问题描述
'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 { \\... }