2017-09-11 2 views
1

Neu bei scala und versucht, dies zu suchen, konnte aber keine Lösung dafür finden. Ich habe eine scala Karte wie unten dargestellt:Serialisierung Scala Karte mit Gson gibt "Schlüssel" mit jedem Schlüssel

val myMap = Map("foo" -> "baz") 

ich dies mit Gson Bibliothek serialisiert werden soll, und hier ist, was ich tue:

val json = new Gson() 
val serializedMap = json.ToJson(myMap) 

Wenn ich drucke die serializedMap ich "{"key1":"foo", "value1":"baz"}" aber ich wurde erwartet "{"foo": "baz"}"

Was vermisse ich?

+0

Da Gson eine Java-Bibliothek ist, kann es, wie Sie sehen, für einige gebräuchliche Scala-Typen, nicht nur für Map, keine Unterstützung geben. Es kann sinnvoll sein, nach einer anderen JSON-Lib zu suchen, wenn Sie können. – michaJlS

Antwort

1

Gson ist eine Java-Bibliothek, daher werden Scala-Sammlungen nicht speziell behandelt. Was Sie dort sehen, sind wahrscheinlich einige interne Instanzvariablen, die durch Reflexion gefunden wurden. Wenn Sie verwenden Gson wollen, werden Sie wahrscheinlich alles Java Sammlungen konvertieren müssen:

import scala.collection.JavaConverters._ 
myMap.asJava 

Sie können aber auch bei Scala spezifische json Bibliotheken suchen möchten. Es gibt viele gute.

Verwandte Themen