0

以下代码生成一个 List[JsonAst.JObject]:

val json = recommendations.map { r =>
  ("cardId" -> r._1) ~
  ("count" -> r._2)
}

这个没有。它产生 List[(String, Int)]:

val json = recommendations.map { r =>
  (r._1.toString -> r._2)
}

如何将此 List[(Int, Int)] 转换为 JSON?

4

1 回答 1

1

对于 org.json4s.json 库

由于(r._1.toString -> r._2)没有~运算符不会生成 JObject,因此您需要手动将其提升到 JObject,它以元组列表作为参数:

val json = recs.map { r =>
  JObject(List(JField(r._1, JInt(r._2))))
}

产生:

List[JsonAST.JObject]

编辑 net.liftweb.json 库

val json = recs.map { r =>
  JObject(List(JField(r._1, JInt(r._2))))
}

编辑两个库都允许相同的语法

于 2015-08-04T20:16:22.297 回答