Json Jackson-有一个@class的键,它的值是类的完整路径-有什么原因吗?
我有下面的Json Jackson-有一个@class的键,它的值是类的完整路径-有什么原因吗?,json,jackson,Json,Jackson,我有下面的MediaPlayerState类,我以对象类型获得了它的实例。我序列化了这个类实例,返回的stateString有一个指向其类路径的@class键 我的问题是这个@class用于什么?是否可以使用它来正确地反序列化stateString以更正类类型,而无需像Try 1中那样提供MediaPlayerState.class Class MediaPlayerState() { private String client; private String playbackS
MediaPlayerState
类,我以对象
类型获得了它的实例。我序列化了这个类实例,返回的stateString
有一个指向其类路径的@class
键
我的问题是这个@class
用于什么?是否可以使用它来正确地反序列化stateString
以更正类类型,而无需像Try 1中那样提供MediaPlayerState.class
Class MediaPlayerState() {
private String client;
private String playbackState;
}
// Jackson Serialize
Object value = method.invoke(this, null); // this returned MediaPlayerState
map.put(key, objectMapper.writeValueAsString(value));
stateString = {"@class":"com.jessica.mediaplayer.MediaPlayerState",
"playbackState":null,
"client":null}
// Jackson Deserialize try 1 -- able to get correct MediaPlayerState
MediaPlayerState state = objectMapper.readValue(stateString, MediaPlayerState.class);
// Jackson Deserialize try 2 -- incorrect
Object state = objectMapper.readValue(stateString, Object.class);
我注意到有两个ObjectMapper
org.codehaus.jackson.map.ObjectMapper
李>
com.fasterxml.jackson.databind.ObjectMapper
@class