Ich muss einen Json mit 2 Elementen erstellen. Das erste Element ist eine Liste und das zweite Element ist ein einfaches Schlüssel/Wert-Paar. Meine Ausgabe sieht wie folgt aus:Erstellen Json von Scala-Objekt mit Liste
"{
"tables":[
{"table": "sn: 2134"},
{"table": "sn: 5676"},
{"table": "sn: 4564"},
],
"paid": 219
}"
Im Beispiel ist das erste Element tables
die Liste der table
ist. Das zweite Element ist paid
.
Ich versuchte es mit play.api.libs.json
Lib, aber fest, während zweites Element hinzufügen.
Mein Code sieht wie folgt aus:
case class Input(table:String){
override def toString = s""""table" : "sn: $table""""
}
implicit val userFormat = Json.format[Input]
val inputsSeq = Seq(Input(table1),Input(table2),Input(table3))
val users = Json.obj("tables" -> inputsSeq)
println(users)
Dieser Code druckt Json als:
"{
"tables":[
{"table": "sn: 2134"},
{"table": "sn: 5676"},
{"table": "sn: 4564"},
]
}
Ich bin nicht sicher, wie das zweite Element in diesem json hinzuzufügen. irgendein Vorschlag, wie zu , das zu lösen.
würde nicht 'Json.obj ("Tabellen" -> inputsSeq , "bezahlt" -> 219) 'mach den Trick? –
Ja .. Danke .. das hat es getan. Erwartet Json.obj() eine Karte? – Alok
Ich überschreibe tostring() -Methode von Input-Case-Klasse, um "Sn:" String hinzuzufügen, wenn es in Json konvertiert wird. Aber nach dieser Methode sehe ich "sn:" wird nicht hinzugefügt, wenn Objekt in Json konvertiert wird. Fehle ich hier etwas? – Alok