杰克逊 JSON 从没有属性名称的对象数组到 pojo

考虑到这种结构,在父属性中获取对象数组(属性、类型字段)的正确表示法是什么。


{"parent":

          [

            {"property":[2,5],"type":2},

            {"property":[1,2],"type":1},

            {"property":[4,0],"type":0}

          ],

 "prop2":"something"

}

目前java看起来像


@JsonInclude(JsonInclude.Include.NON_NULL)

public class Parent{

       <WHAT TO PUT HERE??>

       List<PropertyTypeObj> propertyTypes;

    }

这是更大的东西的一部分,例如:


@JsonInclude(JsonInclude.Include.NON_NULL)

public class Container{


        @JsonProperty("parent")

        List<Parent> parent;

        @JsonProperty("prop2")

        String prop2

    }

解决方案是绕过父元素创建,而是使用PropertyTypeObject本身


@JsonInclude(JsonInclude.Include.NON_NULL)

        public class Container{


            @JsonProperty("parent")

            List<PropertyTypeObject> properties;

            @JsonProperty("prop2")

            String prop2

        }

然后将 PropertyTypeObject 指定为具有@JsonRootName("parent")


为清楚起见,请参阅批准的答案。


慕虎7371278
浏览 80回答 1
1回答

萧十郎

一个可能的类结构如下:public class External {&nbsp; &nbsp;private List<External.Internal> parent;&nbsp; &nbsp;private String prop2;&nbsp;&nbsp; &nbsp;@JsonRootName("parent")&nbsp; &nbsp;public static class Internal {&nbsp; &nbsp; &nbsp;private List<Integer> property;&nbsp; &nbsp; &nbsp;private Integer type;&nbsp; &nbsp;}}外部类有:一个父属性,它是内部元素的列表(json 中的数组)字符串类型的prop2属性以及每个元素都有的内部类:整数的 List 类型的属性属性(json 中的数组)整数类型的类型属性
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java