问题标签 [circe]

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

json - io.circe.Encoder[scala.collection.immutable.Map[Int,Any]] 类型的发散隐式扩展

我写了这段代码

但我收到以下错误

0 投票
1 回答
4665 浏览

scala - 有没有办法在 Circe 解码器中设置可选字段?

我有一个案例类,其中每个字段都是可选的,例如:

我试图为我的案例类创建一个手动解码器,发现解码器类似于:

但是检查downField方法,如果没有设置该字段,光标会切换到FailedCursor,所以会出现错误。

None如果未定义某些字段,我怎么能期望它是可选的并返回?

0 投票
2 回答
270 浏览

scala - 对 Traversable 进行抽象时的发散隐式扩展

最终编辑:所有极端情况都已解决,唯一的问题是我必须Encoder.encodeTraversableOnce从 Circe 复制一个私有方法才能使Encoder's 工作。我还必须更改MyCollection为使用TraversableOnce,而不仅仅是Traversable(这是因为Encoder' 仅适用TraversableOncewhereDecoderTraversable. 15 .

小提琴可以在这里找到https://scalafiddle.io/sf/F5Qo8cn/8

基本上我正在尝试对集合类型进行抽象,这是在包含可遍历集合的模型的上下文中,即假设我们有以下内容

这允许我们MyCollection使用特定的集合类型进行实例化,即

MyCollection也将碰巧有一个具体的类型,所以当我们访问该.stuff方法时,它将返回我们用来创建它的类型(即在它的情况下与它innerVVectorwhere 一样)innerLList

由于这是 web 框架的上下文,MyCollection恰好代表一些 JSON,所以使用 Circe 0.9.1 我们可以编写如下解码器

请注意,我们implicit显式调用参数以及手动编写解码器,以便我们可以帮助跟踪隐式问题所在。这个想法是我们可以case class用我们想要的任何集合类型来一般地实例化 a,即

问题是我得到了一个不同的隐式扩展,特别是在这条线上

我们得到的错误是

ScalaFiddle.scala:19:错误:不明确的隐式值:类型为 => generic.this.CanBuildFrom[String,scala.this.Char,String] 的模块类 Predef 中的 getter StringCanBuildFrom 和类型为 [ 的模块类 Predef 中的方法 $conforms A]=> $less$colon$less[A,A] 隐式匹配预期类型 T ^

有谁知道是什么导致了这个问题

0 投票
1 回答
822 浏览

json - 使用 Circe 将空值映射到 Scala 中的 None

继续这个问题,我有以下代码,但想将nullJSON 值映射到 Scala None。我得到的当前行为是包含与不包含它之间没有key区别null ("key": null)。我想将此映射到None以便我可以将数据库条目设置为null. 此外,当 akey不包含在 JSON 中时,将其映射到现有值。

接着:

但我想得到:

0 投票
2 回答
1982 浏览

json - 如何覆盖circe中的默认编解码器?

我想将Array[Byte]我的案例类的字段编码为 Base64 字符串。出于某种原因,Circe 没有使用默认的编解码器来选择我的编解码器,而是将字节数组转换为整数的 json 数组。

我应该怎么做才能修复它?这是我的最小化代码

0 投票
1 回答
1070 浏览

json - Circe Unmarshall HttpResponse

我正在尝试向领事寻求健康的服务。答复是:

类定义是:

然后我尝试解组:

并得到以下错误:

处理请求时出错:“尝试解码失败游标上的值:DownField(node),DownArray”。完成 500 内部服务器错误响应。要更改默认异常处理行为,请提供自定义 ExceptionHandler。

我看不到失败,其他人可以吗?

0 投票
0 回答
467 浏览

json - 有没有办法将 circe-optics 的 JsonPath 与字符串一起使用,就像在 jq CLI 工具中一样?

我想做的是将字段描述符定义为json 的field1.field2[1].field3访问值:two

我知道我可以使用applyDynamicand来做到这一点root.field1.field2.index(1).field3,但是有没有办法使用字符串创建这样的镜头?

0 投票
2 回答
1774 浏览

scala - 如何使用 Circe 解析对象数组

我有一个json

{ "field" : [ { "value" : 1.0 }, { "value" : 2.0 } ] }

如何获得List[String]值为 List(1.0, 2.0) 的值?

0 投票
1 回答
70 浏览

json - Custom decoder for AWS API Gateway using circe

I would like to create a custom decoder for AWS API Gateway using circe-core. I have the following code:

I know that Result has methods to parse data to Map[K,V] and as requires a Decoder (which is a little confusing) and I can convert it to a Map[String, String]

How can I use the API to convert to an existing scala collection type with the HCursor instead of a custom type.

0 投票
1 回答
3390 浏览

json - 用于变体 json-field 的自定义 circe 解码器

我怎样才能为班级编写circe解码器

其中 json 包含字段“count”(Int)和一些额外的字符串字段(该字段的名称可能不同,如“url”、“city”等)?