是的,我認爲這是可能的(與MappingJacksonHttpMessageConverter)。
MappingJacksonHttpMessageConverter
有方法read()
這需要兩個參數:Class
和HttpInputMessage
MappingJacksonHttpMessageConverter converter = new MappingJacksonHttpMessageConverter();
YourClazz obj = (YourClazz) converter.read(YourClazz.class, new MyHttpInputMessage(myJsonString));
有了這個方法,你可以閱讀從單一的JSON消息單個對象,但YourClazz可以有一些收藏。
接下來,你必須創建你自己的HttpInputMessage實現,在這個例子中它期望json作爲字符串,但你可能可以將流傳遞給你的json文件。
public class MyHttpInputMessage implements HttpInputMessage {
private String jsonString;
public MyHttpInputMessage(String jsonString) {
this.jsonString = jsonString;
}
public HttpHeaders getHeaders() {
// no headers needed
return null;
}
public InputStream getBody() throws IOException {
InputStream is = new ByteArrayInputStream(
jsonString.getBytes("UTF-8"));
return is;
}
}
PS。 You can publish your app with database
感謝您的好解答。我試過這個方法,但不斷收到一個異常'無法反序列化...的實例'。我找到了一個更好的解決方案,我將分享。 – 2012-07-31 22:50:20