如何轻松地重命名 json4s 中的字段名称?从他们的文档中,我尝试了以下代码段,但似乎没有重命名 serial
字段到 id
.
case class Person(serial: Int, firstName: String)
val rename = FieldSerializer[Person](renameTo("serial", "id"))
implicit val format = DefaultFormats + rename
write(Person(1, "Guest")) //returns {"serial":1,"firstName":"Guest"}
使用 Jackson 库,通过声明注释非常容易。但我正在寻找一个纯粹的 Scala 库/解决方案。是否有更好的库或方法在 scala 中使用简单的字段重命名进行对象到 json 的序列化?
最佳答案
您拥有的代码使用 id
返回正确的 JSON作为一个领域。这是在控制台中评估的稍微完整的示例:
import org.json4s._
import org.json4s.FieldSerializer._
import org.json4s.jackson.Serialization.write
case class Person(serial: Int, firstName: String)
val rename = FieldSerializer[Person](renameTo("serial", "id"))
implicit val format: Formats = DefaultFormats + rename
write(Person(1, "Guest")) // actually returns {"id":1,"firstName":"Guest"}
关于json - 如何在使用 Json4s 序列化期间重命名字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21690594/