j3d*_*j3d 4 json scala playframework
给定以下scala序列...
val numbers = Seq[(String, JsValue)](("one", JsNumber(1)), ("two", JsNumber(2)), ("three", JsNumber(3)))
Run Code Online (Sandbox Code Playgroud)
...我需要将其转换为以下JSON:
{
"numbers": {
"one": 1,
"two": 2,
"three": 3
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了...
val js = Json.obj("numbers" -> Json.obj(numbers))
Run Code Online (Sandbox Code Playgroud)
...但是它不起作用,并且出现以下错误:
found: Seq[(String, JsValue)]
required: (String, JsValueWrapper)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
你足够亲密了。用这个:
val js = Json.obj("numbers" -> JsObject(numbers))
Run Code Online (Sandbox Code Playgroud)
输出:
js: play.api.libs.json.JsObject = {"numbers":{"one":1,"two":2,"three":3}}
Run Code Online (Sandbox Code Playgroud)
Json.obj是构造a的快捷方式JsObject,但在您的情况下并不是那么方便。