问题标签 [upickle]

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 回答
922 浏览

scala.js - autowire 和 upickle 的最小示例

我不太了解如何将最小示例应用于我的网络应用程序。

在客户端代码中,我覆盖了该doCall方法:

但是客户怎么知道MyServer呢?

当然,在这里它可以工作,因为所有代码都在同一个文件中,但实际上客户端和服务器通过共享的交叉项目进行通信。

我需要用doCall明确地写dom.ext.Ajax.post吗?

0 投票
1 回答
318 浏览

scala - 从 scalaJS 读取的 upickle - upickle.Invalid$Data: String (data: 1)

来自 ScalaJS。

println(x) 打印:upickle.Invalid$Data: String (data: 1)

如何让它发挥作用?

更新/同步:https ://github.com/lihaoyi/upickle-pprint/issues/154

0 投票
2 回答
548 浏览

scala - upickle:反序列化期间的无效字符串值

我在 scala.js 世界中很新,所以我决定尝试一些小例子,其中一个是非常简单的获取请求,将返回的 json 解析回 scala 实体。

请在下面找到执行此操作的代码:

console.log(stringify) 返回以下 json:

当一切都归结为

我得到以下异常:

所以问题是:有什么做错了吗?这种行为有正当理由吗?

使用的库版本:

编辑:

添加实体本身:

编辑2:

以下代码产生相同的错误:

提前感谢您的澄清。

0 投票
1 回答
280 浏览

scala - µPickle 无法在写入时导出类型错误

我正在尝试在 Scala.js 中使用 µPickle 为 Ajax 请求生成 Json。这是我的代码:

我得到错误:

无法派生类型 FmData

怎么来的?

0 投票
0 回答
286 浏览

scala - 如何定义自定义 upickle 编写器和读取器

假设我有一个案例类,其成员类型是我不能或想要修改的 Scala/Java,并且 uPickle 默认写入器/读取器不支持。有没有办法说 upickle 如何管理它?为了更清楚,让我们举个例子。

假设我有这些课程:

(我知道 uPickle 可以管理 BigInt,但假设我必须使用 java.math.BigInteger 并复杂化我想使用十六进制表示而不是十进制。(所以 nb.toString(16) 转换为十六进制,并且适当的构造函数相反)

有没有办法告诉 uPickle 读者和作者如何管理 BigInteger,以便每次发生 BigInteger 时都会自动使用它?在某种程度上,我不必为我的每个类(MyClass1 和 MyClass2)编写特定的代码。

uPickle 文档仅涉及由开发人员控制的类的“自定义 Pickler”。这显然不是 java.math.BigInteger 的情况。最直接的方法是我想定义一个自定义读取器/写入器来扩展 uPickle 提供的默认值?除非可以提供一些隐式转换。但我不知道该怎么做,也不知道它是否可能。

0 投票
0 回答
260 浏览

scala - 无需反射即可获取案例类属性的名称

我有一个基于 ScalaJS 和 upickle 的项目。这意味着我无法在 JS 端的代码中访问 Scala 反射。我需要将案例类属性与其名称相关联,并且想知道是否有任何方法可以从属性中推断名称。

所以说我有以下代码:

我想知道是否有一种方法可以定义 foo 而无需传递属性的实际名称?

即类似的东西

请注意,我可以访问给定类的 upickle 的 Reader 和 Writer 对象,所以想知道那里是否有有用的功能?

0 投票
1 回答
299 浏览

scala - 为什么解析后不能stringify转换回json

假设我定义了以下案例类:

然后我转换为 json,解析回来并尝试再次转换,如下所示:

我得到以下输出:

json: {"a":{"i":1},"b":{"str":"One"}}

一个:[对象对象]

字符串化:{}

b:[对象对象]

字符串化:{}

为什么 toString 和 stringify 都不能正确地将对象转换回 json?

0 投票
1 回答
83 浏览

angularjs - 如何在scalaJs中使用通用解决方案将未知类解析为Json

我正在使用 ScalaJs angular 和 Upickle,我尝试创建一个过滤器来将未知类转换为 JSON。

我尝试了什么:

我的范围:

我的过滤器:

我的功能

在这种情况下,我的问题是getClass哪个返回Class[_]而不是MyClass

有什么解决办法MyClass吗?(或者也许有任何其他解决方案来派生任何类型?)

0 投票
0 回答
268 浏览

scala.js - 使用选项将 json 解压到案例类中

考虑这个案例类:

Sample(status="OK")由 play-json 序列化为 JSON 为

Sample(status="OK", message=Some("message content"))

这就是可选字段在 Play 以及 JS 世界和打字稿中的其他地方的行为方式。例如,我可以在 Typescript 中轻松地将上面的 json 转换为这样的接口:

现在我明白有许多酸洗概念以一致的方式序列化/反序列化。然而有趣的是,没有任何酸洗库支持这种反序列化到案例类的轻松方式。也许我错过了一些东西..有什么建议吗?

更新——这是我想观察的行为

json:

变成:

json:

变成:

是的,下面的代码确实可以实现这一点。但我不想在许多不同的地方明确指定这种区别。

0 投票
1 回答
1505 浏览

python - 如何访问保存在桌面上的腌制模型文件到 Jupiter 笔记本?

我在 Mac 上的桌面上有一个腌制模型文件。我想将它加载到我的 Jupyter 笔记本中。但是,当我尝试此代码时:

我收到一条错误消息,说没有这样的文件或目录。我不知道如何在我的工作目录中获取文件或访问来自本地。请帮忙。