我如何阅读杰克逊的嵌入式课程

时间:2013-09-30 15:13:17

标签: java json jackson

我有以下JSON,它是Messages的通用包装器。从主题我可以确定内容是什么。

{
  "subject" : "P:WORKSPACE:ADDED",
  "msgType" : "FileInfo[]",
  "contents" : [ {
    "lastModified" : 1380552566000,
    "name" : "genSPI.vhd.pshdl",
    "size" : 630,
    "syntax" : "unknown",
    "type" : "pshdl"
  } ]
}

现在,当我使用objectReader读取Object时,内容将是带有嵌入Maps的通用ArrayList,因为objectReader不知道如何处理内容。这对我来说没问题。但是我怎样才能在以后的内容中创建一个类?我不想使用Jackson的多态特性,因为Message可以包含的类不是静态知道的。

到目前为止我找到的解决方案对我来说显得相当笨拙:

final Object json = message.getContents();
final String jsonString = writer.writeValueAsString(json);
final FileInfo[] readValues = mapper.readValue(jsonString, FileInfo[].class);

0 个答案:

没有答案
相关问题