首页 > 解决方案 > 貘, Circe, Snakecase

问题描述

我在下面有一个代码

import io.circe.generic.auto._
import io.circe.Encoder
import io.circe.generic.extras._, io.circe.syntax._

implicit val config: Configuration = Configuration.default.withSnakeCaseMemberNames

case class User(firstName: String, lastName: String)

print(User("Foo", "McBar").asJson)

它应该输出类似

{
  "first_name" : "Foo",
  "last_name" : "McBar"
}

但我明白了

{
  "firstName" : "Foo",
  "lastName" : "McBar"
}

我究竟做错了什么?我认为提供隐式配置就足够了!

标签: jsonscalacircesnakecasingtapir

解决方案


import io.circe.generic.auto._不使用。_Configuration

如果要使用配置,则必须使用io.circe.generic.extras.auto._.

Generic extras ( io.circe.generic.extras) 不是标准派生 ( )的扩展io.circe.generic,而是一种替代方法,如果您使用auto.


推荐阅读