Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何在与Jackson的通话中辨别类型_Java_Json_Jackson - Fatal编程技术网

Java 我如何在与Jackson的通话中辨别类型

Java 我如何在与Jackson的通话中辨别类型,java,json,jackson,Java,Json,Jackson,我有一些json看起来像这样: [ {"type":"child_obj_1", "message": "blah"}, {"type":"child_obj_3", "apple": "red"}, {"type":"child_obj_2", "banana": "fire!"}, {"type":"doesnt_exist", "message": "blah"} ] 这些类型对应如下所示的类型(“不存在”类型不存在): 我希望能够将json列表解析为这些类型。“不存在”

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

[
  {"type":"child_obj_1", "message": "blah"},
  {"type":"child_obj_3", "apple": "red"},
  {"type":"child_obj_2", "banana": "fire!"},
  {"type":"doesnt_exist", "message": "blah"}
]
这些类型对应如下所示的类型(“不存在”类型不存在):


我希望能够将json列表解析为这些类型。“不存在”类型可以无声地失败。我如何使用Jackson做到这一点?

您是否尝试过Jackson的
@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})

我正在尝试,但我如何://将Java类名(“com.myempl.ImplClass”)作为JSON属性“class”包含
 // 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})