Lift JSON:如何将元组列表转换为 JsonAST?

Lift JSON: How to convert convert list of tuples to JsonAST?

以下代码生成一个列表[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)
}

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

对于组织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))))
}

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