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

时间:2015-08-04 19:35:08

标签: json scala lift-json

以下代码生成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?

1 个答案:

答案 0 :(得分: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))))
}

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