我有一个scala Map,形式为 <String, Any>
. 我的目标是迭代 Map 的所有键并创建一个新的json对象,它包含所有这些 k,v
对 . 我正在使用json库的play框架 .
我试过这个:
var out = JsNull
for (str <- inp) {
out = out.as[JsObject] + (str -> Json.toJson(inp(str)))
}
但是Json.toJson返回一个JsonNode,而它期待一个JsValue . 我已经看了这个SO Question添加新项目 .
问题1:如何将JsonNode转换为JsValue
问题2:这是scala中的一个糟糕的实现 . 我对函数式编程特别陌生,因此很难从通常的迭代循环中思考 .