мне нужно преобразовать этот JSON (что я беру от РДД искры, как значение JsonString)Преобразовать Json в массиве массива
[
{
"Quantita": 6,
"Provincia": "BARI",
"GENERE": "Avventura"
},
{
"Quantita": 30,
"Provincia": "BARI",
"GENERE": "Storia"
},
{
"Quantita": 6,
"Provincia": "MODUGNO",
"GENERE": "Avventura"
},
{
"Quantita": 6,
"Provincia": "MODUGNO",
"GENERE": "Storia"
},
{
"Quantita": 8,
"Provincia": "MODUGNO",
"GENERE": "Avventura"
}]
в массиве, как это:
[
['Bari','Avventura',6],
['Bari','Storia',30],
['Modugno','Avventura',6],
['Modugno','Giallo',6],
['Modugno','Storia',6],
['Avventura','Bari',6],
['Avventura','Modugno',6],
['Storia','Bari',30],
['Storia','Modugno',6]
]
I использовать рамки игры, и я стараюсь, чтобы сделать случай класса как этот
case class Libro_D(
quantita: Int,
provincia: String,
genere: String
)
Затем я использую метод чтения:
implicit val recordReads: Reads[Libro_D] = (
(JsPath \ "Quantita").read[Int] and
(JsPath \ "Provincia").read[String] and
(JsPath \ "GENERE").read[String]
)(Libro_D.apply _)
И я создать список, как это:
val parsedJson = Json.parse(JString_D.stripMargin)
implicit val f = Json.format[Libro_D]
println(parsedJson.validate[List[Libro_D]] match {
case JsSuccess(value, _) => value.map { record => s"""[${record.provincia},${record.genere},${record.quantita}]\n"""}.mkString("[", ",", "]")
case JsError(_) => println("")
})
Так у меня есть проблемы. Когда я печатаю список, пуст. Зачем? Кто-нибудь может мне помочь? Я использую платформу Scala Play