如何在JAVA中用JACKSON映射一个JSON中的数组,这个数组可以包含不同类型的对象作为项目?

正如你在下面的例子中所看到的,第一个项目在 attributes 数组是一个由两个字符串属性组成的对象。第二个对象由一个字符串和数组属性组成。我想把这两种类型的Json对象解码成一个Java对象的集合。

我如何在一个 POJO java类来处理这样的Json解码?

attributes:[
  {
    "attribute_code": "has_options",
    "value": "0"
  },
  {
    "attribute_code": "ewc_top_quick",
    "value": [
      {
        "label": "Display",
        "value": "12.5",
        "suffix": "''"
      },
      {
        "label": "Grafica Integrata",
        "value": "1",
        "suffix": ""
      }
    ]
  }
]

解决方案:

所以,您可以使用 Map<String, Object> 从这个字段。

class Attr {

    private String attribute_code;

    private Map<String, Object> value;
}

在这之后,你可以使用这个对象。

此外,您还可以使用 @JsonAnySetter. 和上一个方案类似。

而解决你这种情况的最好办法就是… … 自定义反序列器. 我强烈推荐这个方案。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

SPARQL UNION不产生第二个查询的结果。

2022-4-20 9:00:12

解决方案

字节数组转bool数组

2022-4-20 10:09:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索