当前位置: 首页 > 面试题库 >

JSON Jackson将不同的密钥解析到同一字段中

史承福
2023-03-14
问题内容

我有一个POJO,其中包含一个字段:

public class Media {
 private Asset asset;
}

将json响应解析到此资产POJO时,一切工作正常。但是此资产随附的密钥略有不同。可以是:

  @JsonProperty("cover_asset")

要么

  @JsonProperty("asset")

有没有一种方法可以注释POJO以识别这种情况并反序列化到同一字段中。他们不可能出现在相同的响应中。


问题答案:

好吧,因为只有反序列化才是您关心的问题,所以@JsonAlias引入in十分2.9适合这种情况。您可以执行以下操作:

@JsonAlias({"cover_asset", "asset"})
private Asset asset;

@JsonAliasdocs:

可用于定义属性的一个或多个替代名称的注释,在反序列化期间可以接受为正式名称的替代。别名信息也在POJO内省期间公开,但在始终使用主名的序列化过程中无效。

注:请确保您更新所有相关的依赖关系(annotationscoredatabind)如果你使用的是他们。在annotations没有其他人的情况下进行更新会引发运行时错误。



 类似资料:
  • 我有一个POJO,它有一个字段: 当将一个json响应解析到这个资产POJO中时,一切工作都很完美。但是,与此资产附带的关键字有一个细微的区别。它可以是: 或 有没有一种方法来注释POJO来识别这个案例并反序列化到相同的字段中。两者不可能出现在相同的答复中。

  • 我在ES7.8中创建了一个日期格式为“YYYY-MM-DD”的索引。 然而,当我点击地图上的“基线”字段时,在Filter上传递的实际值是yyyy-mm-dd00:00:00.000z。 有没有人可以建议一下,我怎样才能在过滤器中得到正确的日期格式“YYYY-MM-DD”? 多谢了。 下面是请求中的示例文档 “命中”:[{“_index”:“program_b”,“_type”:“_doc”,“_

  • 我试图用不同的密钥将消息存储到不同的分区。 例如: 但是当我尝试运行我的Producer类时,它总是存储在单个分区中。 根据文档,使用查找分区。我还看到这个问题Kafka分区键工作不正常‏, 但我在Kafka Client库的0.9.x版本中找不到<code>ByteArrayPartitioner</code>类。 更新:我正在使用代码动态创建主题。 如果我手动创建一个带有分区的主题,那么它可以

  • 我正在努力用本地化反序列化世界天气在线API结果。 是否有更好、更简单的解决方案,只为lang对象编写一个自定义反序列化器,并允许GSON自动反序列化其余数据?

  • 我们正计划将Graphql用于编排(For e.用户界面客户端调用图形ql服务,该服务转到多个Restendpoint并返回结果)。这里的问题是,从一个Restendpoint,我们必须根据客户端请求的字段传递不同类型的查询参数。 我们使用Spring Bootgraphql和graphql java工具库来初始化graphql 我的代码解析用户字段并调用restendpoint,以便在一次调用(