scala - Json 转换器 - 来自 2 个现有字段的新字段

标签 scala playframework-2.0

使用 json API,如何为以下内容编写转换器:

{
"name":"John Doe",
"number":22
}

{
"name":"John Doe",
"number":22,
"slug":"John-Doe-22"
}

这可以使用字符串操作来实现,但是如何从这两个字段中选取值并将其应用到它们?

最佳答案

你可以这样做:

val json = Json.obj(
   "name" -> JsString("John Doe"),
   "number" -> JsNumber(22)
)

val transformed = 
   json.transform(
      __.json.update(
        (__ \ 'slug).json.put(JsString(
          (json \ "name").as[String].replace(' ', '-') + "-" + (json \ "number").as[Int]
        ))
      )
   ).get

Ok(transformed.toString())
//{"name":"John Doe","number":22,"slug":"John-Doe-22"}

Here是关于 play json 转换的好帖子。

关于scala - Json 转换器 - 来自 2 个现有字段的新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452456/

相关文章:

playframework - @Transactional 如何在 Play! Controller 之外工作?框架?

postgresql - PlayFramework 2 + Ebean - 原始 Sql 更新查询 - 对数据库没有影响

scala - 如何设置 prod 模式以将配置文件放在 conf 目录中(而不是在 jar 内)?

Scala 猫,笛卡尔平面 map ?

scala - Spark persist()(然后是 Action )真的持久吗?

java - scala 类中的公共(public)类成员在 java 类中不可访问

scala - 在intellij中运行scala程序时模拟来自stdin的输入

playframework-2.0 - 任何用于 Play 框架的 CMS?

scala - 为 SBT 依赖项设置 javac 选项

mysql - 仅使用 2 个模型对象设置 play 2.0 标记?