1
我從JSON響應中生成了來自Schema的POJO,編譯並加載了從POJO生成的類,但是在反序列化JSON響應時我沒有可以反序列化的實際類。反序列化JSON到動態加載的類文件
MyClassLoader classLoader = new MyClassLoader(POJOGeneratorForJSON.class.getClassLoader());
Class parentJsonClass = classLoader.loadClass(topLevelclassName, classpathLoc);
ObjectMapper mapper = new ObjectMapper();
byte[] jsonBytes = generator.getBytesFromURL(source);
if(jsonBytes != null){
Object jsonObj = parentJsonClass.newInstance();
jsonObj = mapper.readValue(jsonBytes, Class.class);
}
例外,我得到的是:「com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.Class out of START_OBJECT token
」
我知道,在我mapper.readValue()
需要提供實際的類作爲第二個參數,但不知道怎麼辦。有人可以幫我解決問題嗎?
非常感謝馬諾斯....奏效閱讀
parentJsonClass
類型的對象! .... 我的錯。但我最後的需要是調用ParentJsonClass中的方法(我們的對象是parentJsonClass),但它的Type Class而不是ParentJsonClass。你能幫忙嗎? – Garry您可以使用'Class parentJsonClass'將一個'Object jsonObj'轉換爲該類型。所以如果有一個方法'foo()'說'parentJsonClass.cast(jsonObj).foo();' –
使用上面的方法,我只能看到Object級別的方法,而不是ParentJsonClass類中的方法。我的問題是,我甚至不知道那裏的課上的方法。 – Garry