我有一个带有一些任意JSON的String。我想用我的JSON字符串构造一个JsObject
作为JSON对象值,而不是字符串值。例如,假设我的任意字符串是一个无聊{}
我想要{"key": {}}
而不是{"key": "{}"}
。
以下是我试图这样做的方法。
val myString = "{}"
Json.obj(
"key" -> Json.parse(myString)
)
我得到的错误是
type mismatch; found :
scala.collection.mutable.Buffer[scala.collection.immutable.Map[String,java.io.Serializable]]
required: play.api.libs.json.Json.JsValueWrapper
我不知道该怎么办。
答案 0 :(得分:2)
“{}”是一个空对象。
所以,要获得{"key": {}}
:
Json.obj("key" -> Json.obj())
<强>更新强>:
也许你有一个旧版本的Play。这适用于Play 2.3.x:
scala> import play.api.libs.json._
scala> Json.obj("foo" -> Json.parse("{}"))
res2: play.api.libs.json.JsObject = {"foo":{}}