我如何使用JSON模式或JSonschema2pojo忽略某些属性



如何使用JSON Schema或Jsonschema2pojo插件标记为某些属性?有时我确实会收到这些属性,有时我没有。

这是我的例外:

com.fasterxml.jackson.databind.exc.Exc.unRecognized propertyexception:未识别的字段"警告"(com.xyz.music.music.napsster.v2.metadata.metavo("总数"]( 在[来源:okhttp3.Responsebody$ bomawarereader@49f94818;线:1,列:15846](通过参考链:com.xyz.music.napster.v2.metadata.metadata.playlistsrissponsevo [" meta"] -> com.xyz.music.naps.v2.metadata.metadata.metavo ["警告"](

这是我的MetaVO类架构

{
  "properties": {
    "returnedCount": {
      "type": "integer"
    },
    "totalCount": {
      "type": "integer"
    }
  },
  "type": "object"
}

目前我发现,如果我在 MetaVO class上设置以下注释

@JsonIgnoreProperties(ignoreUnknown = true)

我的问题得到了解决。

但是,这些类是由插件自动生成的(并且根据我们的项目规格,它们必须留下来(。

(。

可以从JSON Schema或Jsonschema2pojo插件中执行此类操作吗?

我通过从杰克逊 - 连接器转换为gson-converter来解决问题。

在jsonschema2pojo中,这些属性可以从用于生成pojos的JSON或JSONSCHEMA中删除。

当它们在JSON中检索时,它们将被估算并添加到POJO的Map<String, Object> additionalProperties字段中。默认情况下创建了其他Properties字段。确保它不是禁用的架构"additionalProperties": false

最新更新