Ich versuche, meine Daten aus JSON in eine Fall-Klasse ohne Erfolg zu extrahieren.extrahieren Fall Klassen aus JSON-Datei scala spielen
die Json-Datei:
[
{
"name": "bb",
"loc": "sss",
"elements": [
{
"name": "name1",
"loc": "firstHere",
"elements": []
}
]
},
{
"name": "ca",
"loc": "sss",
"elements": []
}
]
mein Code:
case class ElementContainer(name : String, location : String,elements : Seq[ElementContainer])
object elementsFormatter {
implicit val elementFormatter = Json.format[ElementContainer]
}
object Applicationss extends App {
val el = new ElementContainer("name1", "firstHere", Seq.empty)
val el1Cont = new ElementContainer("bb","sss", Seq(el))
val source:String=Source.fromFile("src/bin/elementsTree.json").getLines.mkString
val jsonFormat = Json.parse(source)
val r1= Json.fromJson[ElementContainer](jsonFormat)
}
nach innen r1 dieses im laufenden bekommen:
JsError (List ((/ Elemente, List (Validation (List (error.path.missing), WrappedArray()))), (/ name, Liste (ValidationError (List (error.path.missing), WrappedArray()))), (/ location, Liste (ValidationError (List (irr or.path.missing), WrappedArray())))))
versucht, diese Daten zu extrahieren für immer, raten Sie bitte
Die Namen der Elemente in JSON sollten mit den Namen der entsprechenden Variablen in der Fallklasse übereinstimmen (wenn Sie den Standardformatierer 'Json.format' verwenden). So sollte zum Beispiel 'location' in' loc' umbenannt werden. – irundaia
In diesem Tutorial erfahren Sie, wie Sie Json in Fallklassen parsen können: http://pedrorijo.com/blog/scala-json/ und http://pedrorijo.com/blog/scala-json-part2/ Ich hoffe, es hilft Ihnen, das zu verstehen parsen Sie json korrekt mit play. Hinweis: https://github.com/travisbrown/circe scheint leistungsfähiger und einfacher zu verwenden als Play JSON – pedrorijo91
thx für Ihre Antworten, sehr informativ und hilfreich! :) –