json - 如何在使用 Json4s 序列化期间重命名字段?

标签 json scala json4s

如何轻松地重命名 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/

相关文章:

jquery - 来自 django 的 jstree 动态 JSON 数据

json - 使用 JSON4S 在重复节点上合并/组合 JSON

scala - 使用 json4s 在 under_score 和 camelCase 格式之间进行选择

scala - 具有部分应用函数的可变参数

json - 用 JSON4 解构 JSON 数组最优雅的方法是什么?

php - 如何从 PHP 脚本发送 JSON 数据以供 jQuery 使用?

java - 带有子对象的 pojo 的 JSON 序列化

c# - 从JSON返回的字符串中删除双引号

scala - 如何使用 gatling 将 scala 类导入另一个类?

scala - 在Scala中,您可以使匿名函数具有默认参数吗?