问题标签 [scala-pickling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - scala-pickling 是否适用于 Scala 2.11?
有什么方法可以在 scala 2.11 中使用 scala-pickling 吗?
我在 sonatype 存储库中尝试了唯一的 scala-pickling_2.11 工件,但它似乎不起作用。我收到消息:
错误:(26, 43) 无法扩展以前版本的 Scala 编译的宏
scala - 自定义 unpickler 失败并显示“NoSuchElementException: : key not found: value”
我正在尝试通过酸洗将 joda DateTime 实例与 json 进行酸洗/解酸。使用酸洗 0.8.0,如果我不提供自定义酸洗器,我会得到
当我做:
我明白了
并且 unpickling 失败并出现 NoSuchElementException: : key not found: value。使用酸洗 0.9.0-SNAPSHOT 我的 specs2 测试甚至不会终止。
scala - Scala酸洗案例类版本控制
我希望能够使用 scala 酸洗来存储案例类的二进制表示。
我想知道是否有办法管理案例类的版本控制(协议缓冲区允许这样做的方式)
这是我的例子
我在某个日期制作了一个程序,具有以下案例类
然后我序列化这个类的一个实例
然后我将结果存储到一个文件中
稍后,我现在可能必须对我的案例类进行改进,以添加一个新的可选字段
我希望能够重用我之前存储在文件中的数据,以反序列化它并能够恢复案例类的实例(使用新参数的默认值)
但是当我使用下面的代码
我收到以下错误:
java.lang.ArrayIndexOutOfBoundsException: 26 at scala.pickling.binary.BinaryPickleReader$$anonfun$2.apply(BinaryPickleFormat.scala:446) at scala.pickling.binary.BinaryPickleReader$$anonfun$2.apply(BinaryPickleFormat.scala:434) at scala.pickling.PickleTools$class.withHints(Tools.scala:498) 在 scala.pickling.binary.BinaryPickleReader.withHints(BinaryPickleFormat.scala:425) 在 scala.pickling.binary.BinaryPickleReader.beginEntryNoTagDebug(BinaryPickleFormat.scala:434)在 scala.pickling.binary.BinaryPickleReader.beginEntryNoTag(BinaryPickleFormat.scala:431)
我做错什么了吗 ?
有没有一种现有的方法可以让我的场景发挥作用?
问候
scala-pickling - 用于枚举的自定义 unpickler
我有一个枚举,我试图用酸洗 0.8.0 和 scala 2.11 来酸洗和解开:
酸洗目前无法自动完成。自定义pickler-unpickler 看起来像这样:
序列化枚举:
当 unpickling 时,这会抛出以下内容:ScalaReflectionException: : class scala.Enumeration.Value in JavaMirror with sun.misc.Launcher$AppClassLoader@5c3eeab3 of type class sun.misc.Launcher$AppClassLoader with classpath ... not found
. 我究竟做错了什么?
scala - scala-js酸洗的基本示例
我试图了解 scala-js 酸洗的绝对最基本的使用,但是确实缺少一些非常明显的东西。
我认为下面的一些东西应该可以工作:
但是当我运行上面的代码时,我得到一个回溯说:
有什么线索我在这里失踪了吗?
json - 用于 sql.Timestamp 的 Scala 酸洗
我正在使用 scala 酸洗库(0.9.0-snapshot)进行 Json 序列化。
我想编写一个自定义pickler和unpickler,用于将sql.Timestamp字段序列化和反序列化为普通字段,我可以通过覆盖Spickler中的pickle方法来序列化时间戳字段,我还想反序列化json字符串中的时间戳值(字符串值)到时间戳字段。可能吗?
我是说,
case class T1(id: Long, name: String, time: Timestamp)
以 json 为
是可能的,但无法解开回到案例类
T1(42, "Name", new Timestamp(new Date().getTime)).pickle.value.unpickle[T1]
// 显示错误 scala.MatchError: 2014-10-17 17:19:29.97 (of class java.lang.String)
我当前的实现看起来像这样。
}
json - 通过 scala-pickling 序列化后从 json 中删除 tpe
有没有一种简单的方法可以在对象内没有“tpe”字段的情况下序列化为 json?我需要将案例类序列化为 json 结构,然后通过网络发送它们(它们将来不会被反序列化)。我有一个特定的 api,所以.. 我不需要额外的字段。
对于Person
下图所示的类:
我希望看到以下内容:
scala - 带有 JSON 列表的 Scala 酸洗
我正在尝试使用 Scala-pickling “unpickle” JSON 结构,如下所示:
可悲的是,当使用以下代码进行 unpickling 时:
我得到以下异常:
是否可以将 Scala-pickling 与列表/集合一起使用?
scala - 我在为具有类型参数的类型生成pickler/unpickler 时出错
我正在尝试为我的项目使用 scala-pickling;但我有一个问题。假设我有这个代码:
当我尝试时hideType.pickle
,我得到一个编译时错误:
在这种情况下生成pickler/unpickler有什么问题?
更多信息:
斯卡拉 2.11.6
scala-pickling 0.10.0
编辑1:
使用“-Xlog-implicits”编译的结果: