为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕虎7371278 2022-06-08 17:15:25
考虑到这种结构,在父属性中获取对象数组(属性、类型字段)的正确表示法是什么。{"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")为清楚起见,请参阅批准的答案。
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

一个可能的类结构如下:


public class External {

   private List<External.Internal> parent;

   private String prop2; 


   @JsonRootName("parent")

   public static class Internal {

     private List<Integer> property;

     private Integer type;

   }

}

外部类有:

  • 一个属性,它是内部元素的列表(json 中的数组)

  • 字符串类型的prop2属性

以及每个元素都有的内部类:

  • 整数的 List 类型的属性属性(json 中的数组)

  • 整数类型的类型属性


查看完整回答
反对 回复 2022-06-08
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信