序列化Json混合结构与杰克逊

时间:2016-10-07 21:39:04

标签: json parsing jackson

请检查示例json数据:

String INPUT = "{\"a\":[1,2,{\"b\":true},3],\"c\":3}";

我想用杰克逊的ObjectMapper解析那个json。 你可以看到" a"是一个包含整数和对象的数组。如何使用anotations在POJO中定义变量? 提前致谢

1 个答案:

答案 0 :(得分:1)

您可以像下面一样创建pojo,因为数组包含不同的对象,pojo将具有Object类型的数组列表以接受每个类型 -

public class JsonInput {

            @JsonProperty("a")
            private List<Object> a = new ArrayList<Object>();
            @JsonProperty("c")
            private Integer c;

            public List<Object> getA() {
                return a;
            }

            public void setA(List<Object> a) {
                this.a = a;
            }

            public Integer getC() {
                return c;
            }

            public void setC(Integer c) {
                this.c = c;
            }
        }

注意:您可能无法进一步控制json输入数组中的对象,以将其映射到pojo类,直到它包含任何特定类型。