问题标签 [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.
scala - 有没有办法在 Circe 解码器中设置可选字段?
我有一个案例类,其中每个字段都是可选的,例如:
我试图为我的案例类创建一个手动解码器,发现解码器类似于:
但是检查downField
方法,如果没有设置该字段,光标会切换到FailedCursor
,所以会出现错误。
None
如果未定义某些字段,我怎么能期望它是可选的并返回?
scala - 对 Traversable 进行抽象时的发散隐式扩展
最终编辑:所有极端情况都已解决,唯一的问题是我必须Encoder.encodeTraversableOnce
从 Circe 复制一个私有方法才能使Encoder
's 工作。我还必须更改MyCollection
为使用TraversableOnce
,而不仅仅是Traversable
(这是因为Encoder
' 仅适用于TraversableOnce
whereDecoder
与Traversable
. 15 .
小提琴可以在这里找到https://scalafiddle.io/sf/F5Qo8cn/8
基本上我正在尝试对集合类型进行抽象,这是在包含可遍历集合的模型的上下文中,即假设我们有以下内容
这允许我们MyCollection
使用特定的集合类型进行实例化,即
MyCollection
也将碰巧有一个具体的类型,所以当我们访问该.stuff
方法时,它将返回我们用来创建它的类型(即在它的情况下与它innerV
的Vector
where 一样)innerL
List
由于这是 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 ^
有谁知道是什么导致了这个问题
json - 使用 Circe 将空值映射到 Scala 中的 None
继续这个问题,我有以下代码,但想将null
JSON 值映射到 Scala None。我得到的当前行为是包含与不包含它之间没有key
区别null
("key": null)
。我想将此映射到None
以便我可以将数据库条目设置为null
. 此外,当 akey
不包含在 JSON 中时,将其映射到现有值。
接着:
但我想得到:
json - 如何覆盖circe中的默认编解码器?
我想将Array[Byte]
我的案例类的字段编码为 Base64 字符串。出于某种原因,Circe 没有使用默认的编解码器来选择我的编解码器,而是将字节数组转换为整数的 json 数组。
我应该怎么做才能修复它?这是我的最小化代码
json - Circe Unmarshall HttpResponse
我正在尝试向领事寻求健康的服务。答复是:
类定义是:
然后我尝试解组:
并得到以下错误:
处理请求时出错:“尝试解码失败游标上的值:DownField(node),DownArray”。完成 500 内部服务器错误响应。要更改默认异常处理行为,请提供自定义 ExceptionHandler。
我看不到失败,其他人可以吗?
json - 有没有办法将 circe-optics 的 JsonPath 与字符串一起使用,就像在 jq CLI 工具中一样?
我想做的是将字段描述符定义为json 的field1.field2[1].field3
访问值:two
我知道我可以使用applyDynamic
and来做到这一点root.field1.field2.index(1).field3
,但是有没有办法使用字符串创建这样的镜头?
scala - 如何使用 Circe 解析对象数组
我有一个json
{
"field" : [
{
"value" : 1.0
},
{
"value" : 2.0
}
]
}
如何获得List[String]
值为 List(1.0, 2.0) 的值?
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.
json - 用于变体 json-field 的自定义 circe 解码器
我怎样才能为班级编写circe解码器
其中 json 包含字段“count”(Int)和一些额外的字符串字段(该字段的名称可能不同,如“url”、“city”等)?