gpt4 book ai didi

java - Scala 从 1.9 到 2.1 中的 Jackson 注释被破坏

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:30:13 27 4
gpt4 key购买 nike

刚刚将 Jackson 从 1.9 升级到 2.1,并立即注意到 @(JsonProperty@field) 注释已损坏。请注意 Scala 案例类的特殊 @field。这是一个示例:

case class Watcher(
@(JsonProperty@field)("guid")
@(RiakKey@field)
val guid: String,

@(JsonProperty@field)("socialNetwork")
val socialNetwork: String, // instragram, twitter
)

当我从数据库中提取一个序列化为 JSON 的 Watcher 时,Jackson 去反序列化它并抛出异常:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "guid" (class com.domain.SocialStreamService.models.Watcher), not marked as ignorable (0 known properties: ])

既然这在 1.9 中有效,我假设有些东西已经改变了。有人知道问题的原因吗?谢谢!

最佳答案

这是由命名空间问题和我使用的 Jerkson(它仍然引入 1.x 作为依赖项,因此不会引发编译器错误)这一事实引起的。为了解决这个问题,我不得不将命名空间从 com.codehaus 更改为 com.fasterxml

与此同时,有一个遗留内省(introspection)器供需要的人使用:https://github.com/Laures/jackson-legacy-introspector

关于java - Scala 从 1.9 到 2.1 中的 Jackson 注释被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255101/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com