【发布时间】:2021-06-08 07:14:58
【问题描述】:
我有一个这样的 json 文件。我想将其转换为具有 ID、SYMBOL、COUNT、SYMBOLINDEX 作为成员变量的自定义类的对象,我不能直接使用 objectMapper 执行此操作,因为键是变量“0”、“1”、“434”,它们将是整数,但是是可变的。它们也可能不是增量方式,例如它可以像“323”然后下一个可以像“5”那么我如何使用 objectMapper 将其转换为对象。任何代码建议将不胜感激
"0": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
},
"1": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
},
"2": {
"symbol": "B",
"count": 2,
"symbolIndex": [0, 0]
}
} ```
【问题讨论】:
-
好吧,你总是可以使用通用的解析方法,它们基本上会产生地图(对象)和列表(数组)的层次结构。在我的脑海中,我想说你还应该能够传递一个类型引用来告诉杰克逊将 json 解析为
Map<String, YourCustomClass>(另见this article)。如果一切都失败了,你也可以为第一级提供你自己的反序列化器,但我怀疑这真的有必要。 -
是的,这就像一个魅力
标签: java json jackson deserialization objectmapper