首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala中的函数定义添加了无法识别的字段

Scala中的函数定义添加了无法识别的字段
EN

Stack Overflow用户
提问于 2019-08-31 01:28:27
回答 1查看 60关注 0票数 0

在Scala case类中,我有一个布尔函数定义,其名称以" is“开头-函数名为"isCreated”。我意识到,一旦我使用fasterxml/Jackson将这个类的对象实例序列化为Json,就会在表示中添加一个名为“created”的冗余字段。但是,如果我将函数名更改为不以"is“开头的其他名称(s.a.简单地“创建”),对象实例创建得很好,没有多余的字段。在Scala中,是否存在与名称以" Is“开头的函数定义相关的特殊含义,从而触发code-gen向该类型的对象添加字段?

代码语言:javascript
复制
case class Account(
    name: String,
    balance: Double,
    status: AccStatus) {

  // [.. some code ..]

  def isCreated: Boolean = (status.tag == true)
}
EN

回答 1

Stack Overflow用户

发布于 2019-08-31 01:48:00

我工作的公司在我们切换到Circe之前使用Jackson,我已经看到了你所描述的功能。我相信这是因为Jackson假设"isCreated“是”创建的“Boolean类型的私有变量的getter,并在JSON中为它创建了一个字段。回想一下,Jackson最初是为Java编写的。在Scala中,我们没有getter和setter,所以这个特性对我们没有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57730980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档