更新特定键的 JsObject 值

update JsObject value for a specific key

假设我有这个简单的 json 作为 JsObject:

val simpleJson = Json.parse("""{
                       "name" : "Watership Down"
                       }""".stripMargin).as[JsObject]

我想更改“名称”值,我该如何在 JsObject 上执行此操作?

simpleJson ++ JsObject(Map("name": JsString("Spaceship Up")))

++ 合并两个 JsObject,右侧优先。

正如@Levi Ramsey 所说,只是没有 Play Json 包装器:

simpleJson ++ Json.obj("name" -> "Spaceship Up");

从 Play 2.4.X 您可以使用 +:

simpleJson + ("name" -> "Spaceship Up");

https://scastie.scala-lang.org/bvAXZw8TSTetuWJcMeQU0Q