当JSON密钥没有任何名称但值不同时,为Jackson设计Java类

时间:2015-05-27 20:49:54

标签: java json parsing jackson

如何在json文件中使用Java(对于Jackson库)进行建模,其中键是文件名,因此它没有(常量)名称

{
  "core/core-rwd/src/scss/_colors.scss": [
    {
      "line": 1,
      "column": 13,
    },

我想要像

这样的东西
class MySet {
    ???? files;
}
class File {
    int line;
    int column;
}

我应该更换???以使其与杰克逊兼容?

1 个答案:

答案 0 :(得分:2)

假设名称是动态的,您将无法将其映射到POJO类型字段。

解决方案是将JSON反序列化为Map<String, Something[]>。如果Map的值映射到POJO类型,则它们仍然可以是某种已知类型。

或者,你可以使用杰克逊的ObjectNode,一个类似Map的数据结构,其方法在JSON语境中有意义。