0

我有一个这样的 JSON 字符串:

{
  "1": {
    "entity_id":"1",
    "status":"canceled"
  },
  "2": {
    "entity_id":"2",
    "status":"pending"
  }
}

我正在努力寻找反序列化时使用的正确设置。"1"我偶然发现了上面映射和"2"id 的样子。

我的对象映射器如下所示:

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(DeserializationConfig.Feature.READ_ENUMS_USING_TO_STRING, true);
mapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);

我已经尝试了各种类来映射它,但是在使用以下行时它们都没有工作:

XXX jsonObject = mapper.readValue(json, XXX.class);

XXX关于课程应该是什么样子的任何建议?

4

1 回答 1

0

解决方案是将 json 映射到映射中,如下所示:

Map<String, Object> map = mapper.readValue(message, new TypeReference<Map<String, Object>>() {}); 

在实际代码中,我将 Object 替换为映射 entity_id 和 status 等字段的 java 类

于 2012-12-05T15:52:52.590 回答