问题标签 [argonaut]

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

scala - 在 Scala 中使用 Finagle/Finch 在正文中发送数据时出错

我正在使用Finagle/Finch并收到此错误:

对于此代码:

我不知道如何解决这个问题。

0 投票
1 回答
101 浏览

scala - Argonaut解码器如何更改案例类中一个值的类型

我想为我的案例类使用casecodecNor shapeless 解码器,但是当它是 json 时,其中一个字段具有不同的类型。

考虑一下,b在 json 中是一个类似的字符串"1.23",但我希望它是一个 Double。

如果我使用 casecodec2 它会出错,因为它b是一个字符串

所以我必须手动写DecodeJson

这对于短案例类来说是可以的,但对于大类来说就很乏味了。

有没有办法使用派生的解码器但只更改一个值类型?

谢谢

0 投票
1 回答
616 浏览

json - 使用 Akka Http 中的编组器发送带有 Json 内容的 http 响应

我想在正文中发送带有 JSON 格式消息的 Http 错误响应。我在使用PredefinedToResponseMarshallers时遇到问题。

我在Akka 文档中看到了一个实现,但我尝试了类似的事情,但它引发了编译错误。

它给出了这个编译错误:

我刚刚开始使用 Akka Http,如果它很简单,请原谅我。

TL;DR:我想(示例)学习如何在 Akka Http 中使用 ToResponseMarshallers。

0 投票
0 回答
138 浏览

scala - Scala 无形隐式解决 StackOverflowError 与 ArgonautShapeless

我使用 ArgonautShapeless 来定义一些 json 编解码器。

当我为我的编解码器提供类型时,我得到了 StackOverflowError,但如果我关闭类型,它就可以工作。如何提供类型?

我对这个问题的理解是,隐式查找def of[A: DecodeJson] = implicitly[DecodeJson[A]]在同一行上找到了我的定义implicit def fooCodec: DecodeJson[Foo],因此是递归的,所以会中断。

还有其他方法可以让我提供类型吗?理想情况下,我希望在我的项目中有一个对象,我在其中定义所有代码,并且它们可能相互依赖。

如果我关闭类型,它会起作用。

谢谢

0 投票
0 回答
61 浏览

scala - DecodeJson 与所有失败的解码尝试?

鉴于argonaut 文档中的以下内容:

res2中,似乎age' 的类型不正确,即预期的数字,但得到了字符串,没有出现在光标输出中。换句话说,在我看来,解码很快就失败了name

是否有“开箱即用”DecodeJson可以返回所有失败的解码尝试?

0 投票
1 回答
1982 浏览

scala - 字段不完整时使用 Circe 解码 Json

我有一个 json 格式的成绩单,里面有一堆单词

我一直在使用 Circe 对 Json 进行编码/解码。在这种特殊情况下:

我的 ADT 看起来像:

有时单词有“strike”或“highlight”之类的键,但很可能没有。如果没有,我会收到以下错误消息。

当“单词”没有所有字段时,正确解码它的最佳方法是什么?

0 投票
1 回答
133 浏览

scala - 为密封特征层次结构编写 DecodeJson?

鉴于:

我试图定义DecodeJson[Parent]

但是,这失败了,因为argonaut.DecodeResult它是不变的。

所以,然后我想出了:

这似乎有效:

有没有更清洁的方法?

0 投票
1 回答
31 浏览

scala - 应用程序中的 scalaz 版本更新后,DecodeJson 无法正常工作

我尝试将 scalaz 版本升级到7.2.18. 在之前的版本中,以下代码块运行良好。

但我升级了版本,DecodeResult(...)块给出了错误:

如果有人能让我知道为什么会发生该错误以及上述块的正确实施,我将不胜感激。

0 投票
2 回答
598 浏览

scala - 如何使用 Argonaut 解码结构不佳的 JSON,其中键名有意义

嗨,如果 JSON 具有键和值,并且您可以使用键名来提取其值,那么文档中的 Decode Person 示例非常好,但是如果构成键的字符串是任意但有意义的呢?

对于 Fxample,一个开放的加密货币 api 可以给出硬币的历史价格,并且返回的 JSON 的结构会有所不同,具体取决于我要求的硬币的基础货币和我希望它定价的各种报价货币。例如,让我们说我想要“AUD”和“XRP”中“DOGE”特定日期的价格,返回的 JSON 看起来像

我无法导航到基础并获取其价值,然后价格并获取它们,因为 JSON 不是以这种方式构建的,我需要查找“DOGE”作为键,然后在重新生成的对象中知道会有一个“AUD” '键和'XRP'键。当然,根据我的查询,每个结果都会有所不同。

当然,当我基于它们创建搜索时,我知道这些键,但是我如何使用 Argonaut 来解析这个 JSON?我可以以某种方式创建一个关闭我的键名的解码吗?

感谢任何帮助或指导,谢谢。

0 投票
1 回答
40 浏览

scala - 使用 Argonaut 解析非结构化 JSON 时间序列

Web 服务返回如下所示的非结构化 JSON:-

虽然我可以使用编解码器解析内部部分,因为它是常规的,即使它很丑,即使我走光标,如果我不知道所有日期字符串,我怎么能走下表示日期的未绑定字段数前面?

有没有办法将所有兄弟姐妹作为 JsonOjects 获取,然后提取兄弟姐妹名称及其值?

这种事情是无法用 argonaut 解析的吗?

欢迎提供线索或一些示例代码。谢谢