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

json - Argonaut,自定义 JSON 格式映射

模型:

基于 Argonaut 的解码器:

这允许解析这样的格式:

现在我想简化 JSON 格式并使用

相反,但保持我的模型不变。如何使用 Argonaut 完成此任务?

0 投票
1 回答
827 浏览

json - 有没有更简洁的方法来使用 Argonaut 删除顶级 JSON 属性?

假设我有这个小Argonaut Json实例:

现在,我想删除键为viewed. 我发现以下工作,但它有点过于冗长。有没有比这更短的:

另外,在我看来,“提交”更改(undo)的方法的名称似乎有点误导?我应该如何解释这个名字?最初,我认为有一种方法可以撤消修改历史中的最后一次更改。

更新

我找到了一种解决方案。使用HCursor

但是,为什么undo命名的问题undo仍然悬而未决。

0 投票
2 回答
1533 浏览

json - 使用 Argonaut 创建通用 JSON 转换器

我是 Scala 的新手,在这里我试图创建一个基于 Argonaut 的通用 json 转换器。我曾尝试在 google 和 stackoverflow 上进行搜索,但到目前为止我一无所知。

这是我的代码片段。

我要做的是进行概括,这样我就不需要为将来添加的每个新模型类(如本例中的 Currency 和 Person)继续添加匹配项。

0 投票
2 回答
1158 浏览

scala - 在 argonaut 中转换 JSON 字段名称

出于向后兼容性的原因,我正在编写一个库来转换来自 API 的 JSON 响应。我需要做的是接受任意 JSON,并更改某些字段名称。我正在使用 scala 和 argonaut,但我在文档或更改字段名称的示例中看不到任何方法,只有值。

0 投票
2 回答
2121 浏览

scala - 深度合并 JSON 数据

是否可以使用 lift JSON 、 argonaut 等深度合并 JSON 结构

我正在尝试将新属性(“instance”:[“PQRSTUW”])深度合并到“metrics”/“tags”结构中

屈服

这可能吗?

0 投票
3 回答
2646 浏览

json - 使用 Scala Argonaut 解析 JSON 数组

我正在使用 Scala & Argonaut,试图解析以下 JSON:

并且努力研究如何迭代并将值提取到List[MyType]具有MyType名称、类型和大小属性的位置。

我将很快发布更具体的代码(我已经尝试了很多东西),但基本上我想了解光标是如何工作的,以及如何遍历数组等。我尝试使用\\(downArray) 移动到头部数组,然后:->-遍历数组,则--\(downField) 不可用(至少 IntelliJ 不这么认为)。所以问题是我如何:

  • 导航到数组
  • 遍历数组(并知道我何时完成)
  • 为每个字段提取字符串、整数等值 - jdecode[String]? as[String]?
0 投票
2 回答
2260 浏览

scala - 使用 scala argonaut 编码嵌套类

我正在尝试对以下案例类进行编码/解码

使用以下代码:

使用 argonaut,但我收到以下编译器错误:

显然,编译器不知道如何处理 List[Person] 的编码,因为它在如何编码 Person 的定义中使用。

有没有一种聪明的方法来告诉 argonaut 如何以正确的方式对其进行编码?

更新:感谢特拉维斯:它现在正在编译,但它不工作。

导致无限递归和试图解码的堆栈溢出

结果是

这种解码嵌套 json 的方法是否有效?我必须以完全不同的方式解决它吗?或者只是缺少另一小段代码?

0 投票
1 回答
354 浏览

json - Argonaut.io:如何重命名 Right/Left 的 json 属性,以防万一包含 Either

在 Argonaut 中,如何在案例类包含 Either 的情况下轻松重命名相应的 JSON 属性名称。

例如,给定这个定义:

将 a 转换FooBar为类似 JSON 的FooBar(Right(Bar("hello"))).asJson.spaces4结果如下:

在上面的输出中将“Right”重命名为更有意义的最简单方法是什么?(我的实际场景有很多案例类,其中有很多,所以我正在寻找最简洁的方法。)

0 投票
1 回答
1326 浏览

json - 如果值为None,则在生成json字符串时如何忽略项目?

我正在尝试使用Argonaut从 Scala 实例生成 JSON 字符串。

它将生成:

当名字是None

它将生成:

但实际上我希望它是:

怎么做?

0 投票
1 回答
1857 浏览

json - Scala JSON 在 2.11 中已弃用 - Argonaut 和 scala.util.parsing.json 一样简单吗?

解析 JSON 字符串,如"""["test",["aaa", "bbb", "ccc"]]"""

易于使用scala.util.parsing.json

印刷

如何使用Argonaut以如此简单的方式做到这一点?