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

时间:2011-09-15 04:24:18

标签: java json jackson

假设我有一个像这样的复合JSON对象:

{
   "Person": {
               "name":"test",
               "age": 20
             },
   "Animal": {
               "name":"Max"
             }
}

这个JSON表示有两种嵌入类型PersonAnimal,但是,我想解析并提取每种类型的表示(产生两个字符串?)。

这可能吗?我在考虑使用Jackson,但找不到合适的例子。

2 个答案:

答案 0 :(得分:3)

任何JSON解析器都可以执行此操作。

如果您不打算映射到POJO并希望使用Jackson,那么您可能正在寻找树模型:http://wiki.fasterxml.com/JacksonTreeModel

答案 1 :(得分:1)

这取决于确切的细节,但如果你只是意味着你有2个不同的属性,不同的类型,你可以有类:

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,getters)。

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