繁体   English   中英

如何反序列化不同类型的 JSON 数组?

[英]How to deserialize JSON array with different types?

我有一个像这样的 JSON 数组:

[
  "0",
  {
    "number": 1,
    "field": "value"
  },
  {
    "number": 2,
    "field": "value"
  }
]

数组的第一个元素是一个字符串。

是否可以使用 FasterXML Jackson 对其进行反序列化?

我知道如何处理不同的对象。
我需要使用@JsonSubTypes (这里是一个例子https://stackoverflow.com/a/38877862/2564509

这个数组的问题是第一个元素是字符串类型。

警告:您的情况是一个不幸的极端情况。 因此,解决方案可能并不完美。

这有效,但并不美妙:

  1. 首先,反序列化为List<Object> 在您的情况下,这将产生一个包含三个元素的列表; 字符串、LinkedHashMap 和 LinkedHashMap
  2. 接下来,处理数组中的每个元素,并按类型处理; String 将是您的 String 元素, LinkedHashMap 将是您的数字字段 class 的表示形式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM