2015-10-16 13 views
5

Sto usando uPickle/ScalaJS per deserializzare un oggetto js.Dynamic in una classe caso utilizzando questo frammento di codice:Come serializzare/classe caso deserialize a js.Dynamic con uPickle

read[myClass](JSON.stringify(dynObj)) 

dove myClass è il caso class e dynObj è l'oggetto js.Dynamic.

C'è un modo semplice e semplice per farlo?

Per serializzare una classe case, ho potuto serializzare js.Dynamic usando Shapeless utilizza questo esempio come punto di partenza:

Converting nested case classes to nested Maps using Shapeless

Vorrei essere in grado di utilizzare uPickle per farlo invece. Come posso completare il viaggio di andata con uPickle?

risposta

6
upickle.default.readJs[myClass](upickle.json.readJs(dynObj)) 

Dovrebbe farlo. Puoi avvolgerlo in un simpatico aiutante se ti accorgi di farlo molto.

chiamate simili esistono per scrivere le cose a js.Dynamic, proprio il contrario

upickle.json.writeJs(upickle.default.writeJs[myClass](myClassInstance)) 

Anche se probabilmente si può tralasciare il parametro di tipo qui dato che sarà dedurre