问题标签 [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.
scala.js - autowire 和 upickle 的最小示例
我不太了解如何将最小示例应用于我的网络应用程序。
在客户端代码中,我覆盖了该doCall
方法:
但是客户怎么知道MyServer
呢?
当然,在这里它可以工作,因为所有代码都在同一个文件中,但实际上客户端和服务器通过共享的交叉项目进行通信。
我需要用doCall
明确地写dom.ext.Ajax.post
吗?
scala - 从 scalaJS 读取的 upickle - upickle.Invalid$Data: String (data: 1)
来自 ScalaJS。
println(x) 打印:upickle.Invalid$Data: String (data: 1)
如何让它发挥作用?
scala - upickle:反序列化期间的无效字符串值
我在 scala.js 世界中很新,所以我决定尝试一些小例子,其中一个是非常简单的获取请求,将返回的 json 解析回 scala 实体。
请在下面找到执行此操作的代码:
console.log(stringify) 返回以下 json:
当一切都归结为
我得到以下异常:
所以问题是:有什么做错了吗?这种行为有正当理由吗?
使用的库版本:
编辑:
添加实体本身:
编辑2:
以下代码产生相同的错误:
提前感谢您的澄清。
scala - µPickle 无法在写入时导出类型错误
我正在尝试在 Scala.js 中使用 µPickle 为 Ajax 请求生成 Json。这是我的代码:
我得到错误:
无法派生类型 FmData
怎么来的?
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 提供的默认值?除非可以提供一些隐式转换。但我不知道该怎么做,也不知道它是否可能。
scala - 无需反射即可获取案例类属性的名称
我有一个基于 ScalaJS 和 upickle 的项目。这意味着我无法在 JS 端的代码中访问 Scala 反射。我需要将案例类属性与其名称相关联,并且想知道是否有任何方法可以从属性中推断名称。
所以说我有以下代码:
我想知道是否有一种方法可以定义 foo 而无需传递属性的实际名称?
即类似的东西
请注意,我可以访问给定类的 upickle 的 Reader 和 Writer 对象,所以想知道那里是否有有用的功能?
scala - 为什么解析后不能stringify转换回json
假设我定义了以下案例类:
然后我转换为 json,解析回来并尝试再次转换,如下所示:
我得到以下输出:
json: {"a":{"i":1},"b":{"str":"One"}}
一个:[对象对象]
字符串化:{}
b:[对象对象]
字符串化:{}
为什么 toString 和 stringify 都不能正确地将对象转换回 json?
angularjs - 如何在scalaJs中使用通用解决方案将未知类解析为Json
我正在使用 ScalaJs angular 和 Upickle,我尝试创建一个过滤器来将未知类转换为 JSON。
我尝试了什么:
我的范围:
我的过滤器:
我的功能
在这种情况下,我的问题是getClass
哪个返回Class[_]
而不是MyClass
有什么解决办法MyClass
吗?(或者也许有任何其他解决方案来派生任何类型?)
scala.js - 使用选项将 json 解压到案例类中
考虑这个案例类:
Sample(status="OK")
由 play-json 序列化为 JSON 为
和Sample(status="OK", message=Some("message content"))
这就是可选字段在 Play 以及 JS 世界和打字稿中的其他地方的行为方式。例如,我可以在 Typescript 中轻松地将上面的 json 转换为这样的接口:
现在我明白有许多酸洗概念以一致的方式序列化/反序列化。然而有趣的是,没有任何酸洗库支持这种反序列化到案例类的轻松方式。也许我错过了一些东西..有什么建议吗?
更新——这是我想观察的行为
json:
变成:
json:
变成:
是的,下面的代码确实可以实现这一点。但我不想在许多不同的地方明确指定这种区别。
python - 如何访问保存在桌面上的腌制模型文件到 Jupiter 笔记本?
我在 Mac 上的桌面上有一个腌制模型文件。我想将它加载到我的 Jupyter 笔记本中。但是,当我尝试此代码时:
我收到一条错误消息,说没有这样的文件或目录。我不知道如何在我的工作目录中获取文件或访问来自本地。请帮忙。