Создайте json из списка карт в Scala Circe

#scala #scala-collections #circe

Вопрос:

У меня есть список карт, подобных этой:

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

Я хотел бы создать json — карту сверху, используя Scala- с цирцеей, как это

 {
  "id":1,
  "weight":38
},
{
"id":4,
"weight":98
}
 

Комментарии:

1. Я полагаю, вы имеете в виду массив объектов? [{ «идентификатор»:1, «вес»:38 }, { «идентификатор»:4, «вес»:98 }]

Ответ №1:

Вам нужно было бы добавить такую зависимость от Цирцеи: 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}]"