Play&JSON:如何将(String,JsValue)序列转换为JsObject



给定以下 scala 序列...

val numbers = Seq[(String, JsValue)](("one", JsNumber(1)), ("two", JsNumber(2)), ("three", JsNumber(3)))

。我需要将其转换为以下 JSON:

{
    "numbers": {
        "one": 1,
        "two": 2,
        "three": 3
    }
}

我试过这个...

val js = Json.obj("numbers" -> Json.obj(numbers))

。但它不起作用,我收到以下错误:

found:       Seq[(String, JsValue)]
required:    (String, JsValueWrapper)

我做错了什么?

你已经足够接近了。使用这个:

val js = Json.obj("numbers" -> JsObject(numbers))

输出:

js: play.api.libs.json.JsObject = {"numbers":{"one":1,"two":2,"three":3}}

Json.obj是构建JsObject的快捷方式,在您的情况下并不那么方便。

最新更新