Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JAVA中映射JSON中的数组,该数组可以包含不同类型的对象作为项?_Java_Json_Jackson_Pojo - Fatal编程技术网

如何在JAVA中映射JSON中的数组,该数组可以包含不同类型的对象作为项?

如何在JAVA中映射JSON中的数组,该数组可以包含不同类型的对象作为项?,java,json,jackson,pojo,Java,Json,Jackson,Pojo,如下面的示例所示,属性数组中的第一项是由两个字符串属性组成的对象。第二个对象由字符串和数组属性组成。我想将这两种类型的JSON对象解码为Java对象的集合 我如何在java类中表达这一点来处理这样的JSON解码 attributes:[ { "attribute_code": "has_options", "value": "0" }, { "attribute_code

如下面的示例所示,
属性
数组中的第一项是由两个字符串属性组成的对象。第二个对象由字符串和数组属性组成。我想将这两种类型的JSON对象解码为Java对象的集合

我如何在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

class Attr {

    private String attribute_code;

    private Map<String, Object> value;
}
class属性{
私有字符串属性_码;
私有地图价值;
}
在此之后,可以使用此对象

此外,您还可以使用
@JsonAnySetter
。这与前面的选项类似


解决这种情况的最佳方法是自定义反序列化程序。我强烈推荐这个选项

很明显,我做错了问题,所以否决票,我将删除它,但我能知道为什么吗?我不是以英语为母语的人,所以我想我的英语不够好,不能在这里提出一个问题,怎么能更准确呢?只有一个问题。如何映射包含多个类型的数组。没什么了,只有一个问题,已经得到了部分回答,回答集中在一个问题上。为什么没有重点?有一个单一的问题和一个单一的技术问题。我甚至展示了一个JSON中只有一个问题的例子。同样,唯一的问题是:如何映射一个可以包含对象和字符串的数组?我真的需要帮助,我不明白为什么会关闭这个。真的令人失望,我不认为这会起作用,当成员是字符串时,将不会设置为mapI。我认为最简单的解决方案是使用:列表属性;然后打开类型。是的。我认为是这样。