如何使用Jackson的一个对象属性将对象数组反序列化为Map?

时间:2018-01-12 20:26:00

标签: java arrays json deserialization jackson2

我反序列化一个Json对象,该对象包含一个对象数组作为其中一个属性,如下所示:

{
   name: 'abc',
   symbols: {
       { a: '1', b: 'test'}, { a: '2', b: 'test'}, { a: '3', b: 'test'} ... 
   ]
}

如果我反序列化为这样的类,它可以正常工作:

class MyContainer {
  private String name;
  private Symbol[] symbols;
}

但是,我在符号数组中得到了很多项,并且希望反序列化为映射,其中键是每个符号的a属性,值是符号对象本身,至于让它们被该属性编入索引以便以后快速查找:

class MyContainer {
  private String name;
  private Map<String, Symbol> symbols;
}

我可以确保数组中的a属性始终具有唯一值。

我看到很多关于地图的帖子,但似乎都没有涉及这个用例,这对我来说很常见。

我怎样才能与杰克逊达成这个目标?

谢谢!

0 个答案:

没有答案