问题标签 [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.

0 投票
1 回答
388 浏览

scala - scala-pickling 是否适用于 Scala 2.11?

有什么方法可以在 scala 2.11 中使用 scala-pickling 吗?

我在 sonatype 存储库中尝试了唯一的 scala-pickling_2.11 工件,但它似乎不起作用。我收到消息:

错误:(26, 43) 无法扩展以前版本的 Scala 编译的宏

0 投票
2 回答
1574 浏览

json - 用于 Json 序列化和反序列化的 Scala Pickling?

对于我的项目dijon,我想知道是否可以使用Scala 酸洗进行 JSON序列化反序列化。具体来说,我想要这样的东西def toJsonString(json: JSON, prettyPrint: Boolean = false): Stringdef fromJsonString(json: String): JSON. 如何使用酸洗来创建这两个辅助方法?

0 投票
1 回答
347 浏览

scala - 自定义 unpickler 失败并显示“NoSuchElementException: : key not found: value”

我正在尝试通过酸洗将 joda DateTime 实例与 json 进行酸洗/解酸。使用酸洗 0.8.0,如果我不提供自定义酸洗器,我会得到

当我做:

我明白了

并且 unpickling 失败并出现 NoSuchElementException: : key not found: value。使用酸洗 0.9.0-SNAPSHOT 我的 specs2 测试甚至不会终止。

0 投票
1 回答
701 浏览

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)


我做错什么了吗 ?

有没有一种现有的方法可以让我的场景发挥作用?

问候

0 投票
0 回答
297 浏览

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. 我究竟做错了什么?

0 投票
0 回答
353 浏览

scala - scala-js酸洗的基本示例

我试图了解 scala-js 酸洗的绝对最基本的使用,但是确实缺少一些非常明显的东西。

我认为下面的一些东西应该可以工作:

但是当我运行上面的代码时,我得到一个回溯说:

有什么线索我在这里失踪了吗?

0 投票
0 回答
277 浏览

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)

我当前的实现看起来像这样。

}

0 投票
3 回答
293 浏览

json - 通过 scala-pickling 序列化后从 json 中删除 tpe

有没有一种简单的方法可以在对象内没有“tpe”字段的情况下序列化为 json?我需要将案例类序列化为 json 结构,然后通过网络发送它们(它们将来不会被反序列化)。我有一个特定的 api,所以.. 我不需要额外的字段。

对于Person下图所示的类:

我希望看到以下内容:

0 投票
0 回答
129 浏览

scala - 带有 JSON 列表的 Scala 酸洗

我正在尝试使用 Scala-pickling “unpickle” JSON 结构,如下所示:

可悲的是,当使用以下代码进行 unpickling 时:

我得到以下异常:

是否可以将 Scala-pickling 与列表/集合一起使用?

0 投票
1 回答
606 浏览

scala - 我在为具有类型参数的类型生成pickler/unpickler 时出错

我正在尝试为我的项目使用 scala-pickling;但我有一个问题。假设我有这个代码:

当我尝试时hideType.pickle,我得到一个编译时错误:

在这种情况下生成pickler/unpickler有什么问题?

更多信息:

斯卡拉 2.11.6

scala-pickling 0.10.0

编辑1:

使用“-Xlog-implicits”编译的结果: