问题标签 [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 回答
1255 浏览

json - Circe 列表反序列化与最佳尝试和错误报告

我正在使用 Circe 反序列化包含列表的 json。有时 json 列表中的一些项目已损坏,这会导致整个反序列化失败。相反,我希望 Circe 做出最佳尝试,并返回所有成功反序列化的列表项的列表,以及损坏项的错误列表。这在 Circe 是如何做到最好的?

具体来说,假设我正在尝试反序列化:

我正在这样做:

它工作正常,并正确反序列化:

但是,如果我现在损坏了 json 列表中的一个项目(通过更改其中一个"dog"键来"doggg"表示),那么整个反序列化将失败 - 它没有给我未损坏Clip项目的列表,它只是告诉我它失败了。

因此,List[Clip]我不想反序列化 into ,而是反序列化 into List[Try[Clip]],其中每个项目要么是 like Success(Clip(xyz,abc,spaniel)),要么是Failure(ErrorDescriptionForThatItem).

我能够在 Argonaut 中实现这一点(使用一些相当难看的代码),但无法弄清楚 Circe 中的语法。实现这一目标的最佳方法是什么?谢谢!

0 投票
2 回答
313 浏览

scala - 如何在使用 Argonaut 和自定义编解码器解析 JSON 时获得更好的错误消息

我正在使用 Argonaut 通过我的自定义编解码器解析 JSON。我的代码如下所示:

但是,我从未收到任何有用的错误消息。我得到的只是java.lang.RuntimeException: Unable to parse MyClass json: LeftProjection(Left(String: CursorHistory(List())))

处理解码错误的正确方法是什么?

编辑:我的问题不是如何处理提供的错误消息。如果 Argonaut 可以说“位置 X 解析错误,意外成员 y”或类似的话,那就太好了。那可能吗?

0 投票
1 回答
76 浏览

json - 收集 JSON 数组中的元素

我和 Argonaut 有很大的关系。我需要收集 JSON 数组中的所有元素。例如,我在 JSON 中有这些数据。

然后我需要将所有name值收集到列表中。所以我得到了这个

这意味着我需要遍历数组,所以我选择 Argonaut 库来执行此操作。但是很难知道 API 在 Argonaut 中是如何工作的。到目前为止,我有这个,

但我不确定如何获得价值。请我在这里需要建议。

0 投票
2 回答
481 浏览

json - purescript-argonaut:解码任意键值 json

有没有办法解码任意json(例如:我们在编译时不知道密钥)?

比如我需要解析下面的json:

其中键的名称和数量在编译时是未知的,并且可能会根据 GET 请求而改变。目标基本上是将其解码为一种Map String (Array String)类型

有没有办法使用 purescript-argonaut 做到这一点?

0 投票
1 回答
28 浏览

scala - 将 Argonaut 元组数量提高到 23

我正在尝试使用 arity 23 实现 CodecJson。它看起来像这样:

但是,我在所有字段上都收到类型错误,例如:

我如何转换x.a为 Json - 等等所有其他字段/类型?

谢谢!

0 投票
1 回答
51 浏览

arrays - 如何使用 argonaut 将此 JSON 数组转换为实际数组?

我在一个单独的文件中有这个 JSON:

我正在尝试遵循他们的快速入门,但它甚至没有找到“decodeOption”或“Parse.parse”或其他任何东西。我特别迷茫?

所以我不完全确定如何完成我想做的事情。我试过遵循这个: Parse JSON array using Scala Argonaut

以及他们网站上的入门指南,但似乎都没有像这里那样处理数组情况的示例。此外,SO 帖子中的代码示例 codec3 显示为不存在,所以我也很困惑。

我只想要一个查询数组作为文件中的字符串,为什么没有像在 python 中那样的简单方法呢?

0 投票
1 回答
46 浏览

json - Scala Argonaut 在列表中折叠?

我对 Argonaut 很陌生(我被迫使用它,因为代码库较旧,使用的是 scalaz 的旧版本,我们无意更新它,因为我们正在从头开始重写这个过时的代码),我'正在尝试找到一种将一些数据转储到 JSON 中的方法。

我有一个名为Magnitude. 为简单起见,将其定义为:

case class Magnitude(bandname: String)

我想要的是一个接收 aList[Magnitude]和输出的函数Json,我可以将它们与其他Json.

现在,我正在做:

然后说我有一个实例化List[Magnitude]

当我打电话时magnitudeFields(magList)

我只收到bandName: K和前面的其他三个条目不是函数输出的 JSON 的一部分:

而不是我想要的,即:

任何帮助将不胜感激。jEmptyObject我怀疑我在使用默认值时做错了什么,foldLeft并且可能需要jArray在某些时候使用类似的东西(函数返回List[Json],但我不确定我应该怎么做。

0 投票
1 回答
78 浏览

purescript - 使用 Argonaut 在 PureScript 中解析 JSON

我在 PureScript 中使用 argonaut 库对 JSON 进行解码和编码。我无法编写一个实现来解码和编码这样的 json 字段:

“字段”:[3,“文本”]

这是一个具有不同数据类型的数组。如何在 argonaut 库中实例化它?