我正在使用uPickle/ScalaJS使用以下代码片段将js.Dynamic对象反序列化为case类:

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

其中,myClass是案例类,dynObj是js.Dynamic对象。

有没有样板的,更简单的方法吗?

为了序列化一个case类,我可以使用Shapeless以这个例子为起点,序列化为js.Dynamic:

Converting nested case classes to nested Maps using Shapeless

我希望能够使用uPickle代替它。如何使用uPickle完成往返?

最佳答案

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

应该做。如果您发现自己做得很多,则可以将其包装在一个很好的帮助器中。

存在类似的调用来将内容写入js.Dynamic,反之亦然
 upickle.json.writeJs(upickle.default.writeJs[myClass](myClassInstance))

尽管您可以在此处省略类型参数,因为会被推断出来

关于scala - 如何使用uPickle将case类序列化/反序列化为js.Dynamic,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33180377/

10-10 05:29