【问题标题】:Play2 add new field to JsObjectPlay2 向 JsObject 添加新字段
【发布时间】:2014-02-27 18:23:55
【问题描述】:

是否可以在 JsObject 中添加新字段?

val jsonObj = Json.obj()
jsonObj.put("field" -> 100) <==== Somthing like this

我有很多添加新字段的方法。如何动态创建 JsObject?

【问题讨论】:

  • 我发现了这样的东西:jsonObj ++= Json.obj("field" -> 100) 我总是要创建新的 JsObject 吗?
  • 是的。 play.api.libs.json... 对象是不可变的

标签: json scala playframework playframework-2.2 jsobject


【解决方案1】:

是的,您可以使用“+”方法添加新字段。请注意,该对象是不可变的,因此这将创建一个带有添加字段的 JsObject 的新副本:

val obj = Json.obj()
// obj - {}
val newObj = obj + ("name" -> JsString("Kip"))
// newObj - {"name":"Kip"}

【讨论】:

  • 在查看了 JsObject + val newObj = obj + ("name", JsString("Kip")) 的源代码之后,您可能很想尝试但是如果您在编译器选项中运行 -Xlint ,您将收到以下警告:通过创建 2 元组来调整参数列表:这可能不是您想要的。
猜你喜欢
  • 1970-01-01
  • 2020-07-01
  • 2019-07-19
  • 2022-01-23
  • 2012-10-27
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 2015-12-31
相关资源
最近更新 更多