从 Scala Circe 中的 Map 列表创建一个 json

Posted

技术标签:

【中文标题】从 Scala Circe 中的 Map 列表创建一个 json【英文标题】:Create a json from a list of Map in Scala Circe 【发布时间】:2021-09-16 03:26:47 【问题描述】:

我有一个这样的地图列表:

List(Map(id -> 1, weight -> 38), Map(id -> 4, weight -> 98), Map(id -> 4, weight -> 66), Map(id -> 6, weight -> 89))

我想使用 Scala 从上面的地图创建一个 json - 像这样


  "id":1,
  "weight":38
,

"id":4,
"weight":98

【问题讨论】:

我猜是指一个对象数组? [ "id":1, "weight":38 , "id":4, "weight":98 ] 【参考方案1】:

你需要添加这样的 Circe 依赖:io.circe::circe-core:0.14.1


import io.circe.syntax._

val l = List(
  Map("id" -> 1, "weight" -> 38), 
  Map("id" -> 4, "weight" -> 98), 
  Map("id" -> 4, "weight" -> 66), 
  Map("id" -> 6, "weight" -> 89)
)

// and then
val jsonStr = l.asJson.noSpaces
println(jsonStr)
"[\"id\":1,\"weight\":38,\"id\":4,\"weight\":98,\"id\":4,\"weight\":66,\"id\":6,\"weight\":89]"

【讨论】:

以上是关于从 Scala Circe 中的 Map 列表创建一个 json的主要内容,如果未能解决你的问题,请参考以下文章

Circe Scala - 编码和解码 Map[] 和案例类

Scala使用circe将None编码为NaN json值

使用 circe 将 Scala None 编码为 JSON 值

使用 circe 时如何在 Scala 中表示动态 JSON 键

无法使用Circe JSON解析器创建遍历JSON字符串的对象

带有案例类的抽象类的scala circe编码器/解码器