Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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解析JSON并提取嵌入类型_Java_Json_Jackson - Fatal编程技术网

Java 使用Jackson解析JSON并提取嵌入类型

Java 使用Jackson解析JSON并提取嵌入类型,java,json,jackson,Java,Json,Jackson,假设我有一个复合JSON对象,如下所示: { "Person": { "name":"test", "age": 20 }, "Animal": { "name":"Max" } } 这个JSON表示有两个嵌入式类型Person和Animal,但是,我想解析和提取每个单独类型的表示(生成两个字符串?) 这可能吗?我想用,但找不到合适的例子 任

假设我有一个复合JSON对象,如下所示:

{
   "Person": {
               "name":"test",
               "age": 20
             },
   "Animal": {
               "name":"Max"
             }
}
这个JSON表示有两个嵌入式类型
Person
Animal
,但是,我想解析和提取每个单独类型的表示(生成两个字符串?)


这可能吗?我想用,但找不到合适的例子

任何JSON解析器都可以做到这一点


如果您不希望映射到POJO并希望使用Jackson,那么您可能正在寻找树模型:

任何JSON解析器都可以做到这一点


如果您不想映射到POJO并想使用Jackson,那么您可能正在寻找树模型:

这取决于确切的细节,但是如果您只是指您有两个不同的属性,具有不同的类型,那么您可以有如下类:

public class Response {
  public Person Person;
  public Animal Animal;
}
public class Person {
  public String name;
  public int age;
}
public class Animal {
  public String name;
}
(和/或使用setter、getter)


但是,如果您正在寻找多态类型(与人和动物相关的类型),则需要更多的工作。

这取决于确切的细节,但如果您只是指您有两个不同的属性,具有不同的类型,那么您可以有如下类:

public class Response {
  public Person Person;
  public Animal Animal;
}
public class Person {
  public String name;
  public int age;
}
public class Animal {
  public String name;
}
(和/或使用setter、getter)


但是,如果您正在寻找多态类型(人和动物相关的类型),则需要做更多的工作。

最终解决方案是将Jackson与树模型结合使用。我找不到一个合适的例子来说明如何从JSON中提取各个类型;最终的解决方案是可以找到的。使用Jackson和TreeModel是最终的解决方案。我找不到一个合适的例子来说明如何从JSON中提取各个类型;最终的解决方案是可以找到的。