我正在尝试使用 Quarkus 的 JSON-B 实现反序列化以下 JSON(请参阅 API 文档)。
这里让我烦恼的是为多个 JSON 对象动态生成的数字键。我想将所有未知属性反序列化为Map<Long, MyObject>
. 简单地在数据对象中声明一个 Map 是行不通的。
Jackson 似乎完全支持使用@JsonAnySetter
注释的所需行为(请参阅文档)。
我能做的就是自己编写JsonbAdapter
来手动解析未知属性,但对于这样一个简单的任务来说,这似乎是一项荒谬的工作。
如何使用 JSON-B 将未知的 JSON 属性反序列化为 Map?
{
"634": {
"AT": {
"av": -61.082,
"ct": 314284,
"mn": -94.58,
"mx": -16.136
},
"First_UTC": "2020-09-07T15:29:16Z",
"HWS": {
"av": 6.685,
"ct": 156912,
"mn": 0.452,
"mx": 17.887
},
"Last_UTC": "2020-09-08T16:08:49Z",
"PRE": {
"av": 775.846,
"ct": 159956,
"mn": 746.3902,
"mx": 793.7311
},
"Season": "summer",
},
"635": { ... },
"636": { ... },
"638": { ... },
"sol_keys": [
"634",
"635",
"636",
"638",
],
}