隐式字符串到JsString

时间:2013-11-05 21:32:39

标签: scala playframework-2.0

而不是像

那样创建一个JsObject
Json.obj("foo" -> "bar")

在我的情况下,使用

构建一个似乎更容易
JsObject then += (String, JsValue).

问题是JsValue是必需的,所以像

json += "foo" -> "bar" 

不会编译,需要写成

json += "foo" -> JsString("bar")

您如何仍然使用Json.obj(...)具有的隐式转化?感谢。

1 个答案:

答案 0 :(得分:1)

鉴于现有JsObject

scala> Json.obj("foo" -> "bar")
res23: play.api.libs.json.JsObject = {"foo":"bar"}

如果要添加名称/值对,可以执行以下操作:

scala> res23 ++ Json.obj("john" -> "doe")
res24: play.api.libs.json.JsObject = {"foo":"bar","john":"doe"}

scala> res23 + ("john" -> JsString("doe"))
res32: play.api.libs.json.JsObject = {"foo":"bar","john":"doe"}