scala - 向 JsValue 添加元素?

标签 scala playframework playframework-2.0

我正在尝试向 JsValue 添加新元素,但我不知道如何去做。

 val rJson = Json.parse(response)
 val imgId = //stuff to get the id :Long
 rJson.apply("imgId", imgId) 
 Json.stringify(rJson)

我应该转换为 JSONObject 还是有一些方法可以直接应用于 JsValue 以将新元素插入 JSON?

编辑:

响应来自另一台服务器,但我确实可以控制它。因此,如果我需要向 JSON 对象添加一个空的 "imgId" 元素,那就没问题了。

最佳答案

您可以将其作为 JsObject 来执行,它扩展了 JsValue 并具有 + 方法:

val rJson: JsValue = Json.parse(response)
val imgId = ...
val returnJson: JsObject = rJson.as[JsObject] + ("imgId" -> Json.toJson(imgId))
Json.stringify(returnJson)

关于scala - 向 JsValue 添加元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25105456/

相关文章:

scala - cats 是否具有来自 scalaz 的 traverseM 的等价物?

scala - Typesafe Play WS 作为 SBT 项目中的依赖项

java - 使用 Rhino 调用摊牌

scala - SBT 安装错误(找不到模块 : org. scala-sbt.ivy#ivy;2.3.0-sbt-2cf13e211b2cb31f0d3b317289dca70eca3362f6)

json - 将 JSArray 对象解析为 Scala Play 中的对象列表

java - PlayFramework 应用来自 ClassLoader 的演变

java - 在 Play Framework 2 中从 Java 调用 javascript 函数

java - 发生 IllegalArgumentException : id to load is required for loading?

testing - 在 Play Controller 中模拟第三方 API

java - 如何从 MongoDB 获取 ObjectId 值?