Jackson - 反序列化没有属性名称的数组

Ben*_*enk 6 java json jackson json-deserialization

我有来自 shipcloud.io 的以下 JSON 响应:

[
  {
    "name": "dhl",
    "display_name": "Deutsche Post DHL",
    "services": [
      "standard",
      "returns",
      "one_day",
      "one_day_early"
    ],
    "package_types": [
      "parcel",
      "bulk"
    ]
  },
  {
    "name": "dpag",
    "display_name": "Deutsche Post",
    "services": [
      "standard"
    ],
    "package_types": [
      "letter",
      "parcel_letter",
      "books"
    ]
  },
  {
    "name": "dpd",
    "display_name": "DPD - Dynamic Parcel Distribution",
    "services": [
      "standard",
      "returns",
      "one_day",
      "one_day_early"
    ],
    "package_types": [
      "parcel",
      "parcel_letter"
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

如何使用 Jackson 反序列化这个 JSON 数组?通常我使用一个简单的 POJO 并定义列表/数组的属性名称(例如@JsonProperty("blub"))。问题是,这里没有使用属性名称...我尝试使用空属性名称,但没有用。我刚刚收到此错误消息:

Can not deserialize instance of Response.CarriersResponse out of 
START_ARRAY token
Run Code Online (Sandbox Code Playgroud)

aUs*_*elf 1

如果您想使用jackson,这是适合我的解决方案:

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false);
Run Code Online (Sandbox Code Playgroud)