【问题标题】:Alternatives for PropertyNamingStrategy.SNAKE_CASE or PropertyNamingStrategy.SnakeCaseStrategy as it is deprecated nowPropertyNamingStrategy.SNAKE_CASE 或 PropertyNamingStrategy.SnakeCaseStrategy 的替代方案,因为它现在已被弃用
【发布时间】:2022-12-14 07:48:18
【问题描述】:

在jackson之前的版本中,我们在对象的序列化和反序列化过程中使用以下两种方式来修改Property Naming。

第一种方式: 在类级别提及以下注释。

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)

第二种方式: 在 Object Mapper 本身中设置 PropertyNamingStrategy。

objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SnakeCaseStrategy.class);

or,

objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);

现在它已从 2.13 版中弃用。

参考: https://fasterxml.github.io/jackson-databind/javadoc/2.13/com/fasterxml/jackson/databind/PropertyNamingStrategy.html

https://github.com/FasterXML/jackson-databind/issues/2715

现在上面的事情有什么选择。

谁能帮我解决这个问题?

正在尝试上述两种方式,但现在已弃用。

【问题讨论】:

  • 弃用的只是像 SNAKE_CASE 这样的常量

标签: java spring spring-boot jackson jackson-databind


【解决方案1】:

笔记!由于 databind#2715,此处定义的 2.12 子类(及其静态单例实例)已被弃用。请改用 PropertyNamingStrategies 中的常量和类。

https://fasterxml.github.io/jackson-databind/javadoc/2.13/com/fasterxml/jackson/databind/PropertyNamingStrategies.html

【讨论】:

    【解决方案2】:
    ObjectMapper mapper = new ObjectMapper();
    
    mapper.setPropertyNamingStrategy(new PropertyNamingStrategies.SnakeCaseStrategy());
    

    而已。

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多