如何在 Scala 中给定字段列表(键 -> 值)构建 json 对象
How to build a json object given a list of fields (key -> value) in Scala
我正在寻找有关如何创建 and/or 将多个字段附加到 play.api.libs.json.JsObject
的解决方案。我有一个 list of (string -> JsValue) 我不知道其中有多少,也不知道哪些字段名称可用。
Json.obj
确实接受多个字段,但看起来您不能传入列表。相反,您需要像这样专门传递所有字段:
Json.obj((k1 -> v1), (k2 -> v2), ...)
这不适用于我的用例。我想要这样的东西:
Json.obj(listOfFields) // listOfFields: List[(String, JsValue)]
提前致谢!
我不知道那个特定的库,但这应该将列表分成一组单独的参数:
Json.obj(listOfFields:_*)
通过查看 documentation,可以看出 JsObject
同伴 extends (Seq[(String, JsValue)]) ⇒ JsObject
,而不是调用 Json.obj
(经过额外转换):
import play.api.libs.json._
def foo(fields: List[(String, JsValue)]): JsObject = JsObject(fields)
我正在寻找有关如何创建 and/or 将多个字段附加到 play.api.libs.json.JsObject
的解决方案。我有一个 list of (string -> JsValue) 我不知道其中有多少,也不知道哪些字段名称可用。
Json.obj
确实接受多个字段,但看起来您不能传入列表。相反,您需要像这样专门传递所有字段:
Json.obj((k1 -> v1), (k2 -> v2), ...)
这不适用于我的用例。我想要这样的东西:
Json.obj(listOfFields) // listOfFields: List[(String, JsValue)]
提前致谢!
我不知道那个特定的库,但这应该将列表分成一组单独的参数:
Json.obj(listOfFields:_*)
通过查看 documentation,可以看出 JsObject
同伴 extends (Seq[(String, JsValue)]) ⇒ JsObject
,而不是调用 Json.obj
(经过额外转换):
import play.api.libs.json._
def foo(fields: List[(String, JsValue)]): JsObject = JsObject(fields)