问题标签 [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 投票
2 回答
188 浏览

hl7-fhir - FHIR URL - 根据现有患者读取

我正在使用以下请求中的测试服务器在 .NET 中构建 FHIR 客户端:http ://argonaut.healthintersections.com.au/open/Patient?family=Doe&given=John 。我能够成功返回并解析现有测试患者的 JSON 响应。我的用例:现在我知道我感兴趣的患者存在,我想为患者返回问题/药物/免疫接种。

有人可以告诉我如何转换 JSON 响应中收到的患者信息(可能是患者 ID),并为所述患者请求所有药物或免疫接种或问题吗?根据我对文档的解释,我尝试了很多方法(尝试利用规范中定义的 StructuredDefinition 资源类型,但我似乎无法正确理解。显示从服务器返回的患者 ID 的 JSON 响应摘录:

谢谢

0 投票
0 回答
184 浏览

json - 使用 Argonaut 验证和解析 JSON

我需要将一些 JSON 解析为 Scala 实例或错误 JSON。

例如,如果我有下一个 JSON: {"user":"us","password":"pass"} 并且我的约束"user"不应该小于 3。然后我应该得到下一个错误 JSON: {"user":"us", "_error_user":"Username length shouldn't be less than 3","password":"pass"}

但是对于 JSON,{"user":"user","password":"pass"}我应该得到一些 Scala 实例,例如User("user","pass").

可以使用 Argonaut 吗?

0 投票
0 回答
473 浏览

scala - Argonaut CodecJson 和解码子类型

在 ArgonautDecodeJson特征中,有一种|||将解码器链接在一起的方法,以便选择第一个后续解码器。还有一种类似的方法DecodeResult具有相同的效果。乍一看,其中一个似乎是我们想要解码一个共同特征的多个子类型的东西。但是,我们实际上如何做到这一点?

第一个问题是 to 的参数|||必须是DecodeJson解码被调用者应该解码的类型的超类型(对于 也是类似的DecodeResult)。我希望这样的解码器能够解码通用超类型的所有子类型,所以这似乎是无限递归的秘诀!

我们可以在定义超类型时使用以下丑陋的asInstanceOf技巧来解决这个问题:CodecJson

但是,当解码两个以上的子类型时,仍然存在问题。假设有子类型A和。现在呢?我们如何为这个解码表达式添加另一个替代方案?将破坏解析结果的类型安全(好像我们此时还没有丢弃类型安全!)。然后我们很快就会用完 4、5 或 6 个备选方案。BCFoo.asInstanceOf[DecodeResult[AnyRef]]

编辑:我很乐意接受使用 Argonaut 解码超过 2 个宽的子类型层次结构的任何替代方法作为答案。

0 投票
2 回答
60 浏览

scala - Argonaut.io 的浮点数转换不正确

我将Float对象字段转换为 json。并且值由 Argonaut0.6转换为。0.6000000238418579如何纠正它?

简单的测试用例来检查这一点:

控制台输出:

0 投票
1 回答
207 浏览

json - 如何使用 Argonaut 镜头修改数字 JSON 字段?

这是Argonaut 镜头文档中示例的简化版本:

你如何对数字字段做类似的事情?例如,假设我们想将上面1的数字相加obj,得到结果

我的第一次尝试是尝试

但是最后一行没有编译。

0 投票
2 回答
320 浏览

json - 在 Play 框架中使用 Argonaut 进行读写

我知道如何使用 play json 库为 play 应用程序进行 json 解析。例如我有以下代码:

我应该如何使用 Argonaut 而不是 Play json 编写像 Reads and Writes 这样的代码?

0 投票
2 回答
252 浏览

json - 如何在 argonaut.io 中进行递归编解码器?

可以说我有一个

如何创建支持任意嵌套数量Listlike的编解码器List[List[List[A]]

我尝试为 提供编解码器List[T[_] : CodecJson],但很明显它遗漏了一些对A.

那么,如何让它递归呢?

0 投票
1 回答
15472 浏览

scala - 找不到隐式 ExecutionContext。你可能会通过 spray scala

我有这两个错误:

我的代码是:

0 投票
1 回答
136 浏览

scala - 我应该如何处理对 DecodeResult 的映射?

通常,我发现自己使用 JSON,我希望在其中的某个地方用字符串解析,我想以一种非平凡的方式(不仅仅是字符串)进行解析。在这种情况下,我需要为其制作解码器或编解码器,因此我可能会尝试执行以下操作:

但这不会编译,因为我不能对选项进行平面映射。

应该如何处理这种(看似常见的)行为?

一种选择是解码为 Option[URL],但如果您只想解码失败,这似乎很糟糕。

是否有一种可接受的方式来处理这些后续的解码操作?

0 投票
2 回答
636 浏览

json - 在 Scala 中,如何将隐式转换应用于集合的子类型?

我正在尝试使用 argonaut 将对象列表转换为 json。该列表包含不同类型的验证错误列表。例如,它可以包含“ MissingParameter ”或“ InvalidParameter ”或任何其他类型的实例。我已经为上面提到的两个类定义了 EncodeJson (argonaut) 编解码器。有什么方法可以使用 argonaut 将上述类型的列表转换为 json?我的意思是,我可以实现以下目标吗?