0

我有一些看起来像这样的json:

[
  {"type":"child_obj_1", "message": "blah"},
  {"type":"child_obj_3", "apple": "red"},
  {"type":"child_obj_2", "banana": "fire!"},
  {"type":"doesnt_exist", "message": "blah"}
]

这些对应于看起来像这样的类型(“doesnt_exist”类型不存在):

ParentObj
  -> ChildObj1
  -> ChildObj2
  -> ChildObj3

我希望能够将 json 列表解析为这些类型。“doesnt_exist”类型可以静默失败。我如何使用杰克逊做到这一点?

4

1 回答 1

0

你试过@JsonTypeInfo杰克逊的注释吗?查看其文档以获取更多详细信息。

样品用法:

 // Include Java class name ("com.myempl.ImplClass") as JSON property "class"
  @JsonTypeInfo(use=Id.CLASS, include=As.PROPERTY, property="class")

  // Include logical type name (defined in impl classes) as wrapper; 2 annotations
  @JsonTypeInfo(use=Id.NAME, include=As.WRAPPER_OBJECT)
  @JsonSubTypes({com.myemp.Impl1.class, com.myempl.Impl2.class})
于 2013-05-21T18:55:02.933 回答