问题标签 [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.
json - 用 circe 状态转换 JSON
注意:为了后代,我从circe Gitter 频道复制了这个问题。
假设我们要翻译这个 JSON 文档:
进入这个:
即,我们想id
用一个简单的递增数字标识符替换每个 UUID,并将对每个 UUID 的所有引用替换为对新标识符的引用。
我们如何用circe做到这一点?
json - 在circe中合并几个json数组
假设我们有 2 个 json 数组。如何将它们合并到一个带有 circe 的数组中?例子:
阵列 1:
阵列 2:
需要:
我试过deepMerge
了,但它只保留参数的内容,而不是调用对象的内容。
json - 如何在没有案例类的情况下解析 JSON Scala
我有一个可以随时间变化的 JSON,使用 case Class 可能不方便,因为每次 JSON 更改时我都需要更改它的结构。
例如,如果我有这样的 JSON:
我可以通过以下方式访问它:
scala - 是否可以自动派生密封性状家族/ADT?
我有一个能够持久化任何类型的方法,只要该类型有一个io.circe.Encoder[A]
实例,如下所示:
现在在测试这个时,我可以创建任何旧的案例类,或者密封特征下的案例类集,创建一个 ADT,并使用自动类型类派生来创建Encoder
ScalaCheckArbitrary
实例,这使得测试非常好.
是否有可能以某种方式使用 Shapeless 来创建任意案例类系列(因此自动派生Encoder
和Arbitrary
实例),以便我可以确定我的persist
方法适用于任何类型?
我什至不知道从哪里开始,更不用说尝试为此描述一种类型了。
json - 为基本特征具有(密封)类型成员的密封案例类族派生circe Codec
我可以很容易地为这样的密封案例类族一般派生一个编解码器:
但是,如果我向基类添加一个类型成员,我就不能再这样做了,即使它受到密封特性的限制:
有没有办法实现我想要的?如果没有,我可以改变什么来获得类似的东西?
scala - 用于编码/解码 arity 0 的密封特征实例的 Circe 实例?
我使用密封特征作为详尽模式匹配的枚举。如果我有案例对象而不是扩展我的特征的案例类,我想将(通过Circe)编码和解码为纯字符串。
例如:
我知道这将在 0.5.0 中进行配置,但是任何人都可以帮我写一些东西来帮助我度过难关,直到它发布?
json - 将circe中json对象的所有键从“下划线”转换为“驼峰式”
起源
预期的
如何转换 json 对象的所有键?
scala - 为任意 JSON 创建一个“解码器”
我正在使用 Finch、Circe 和 Sangria 为 API 构建 GraphQL 端点。GraphQLvariables
查询中通过的基本上是任意 JSON 对象(假设没有嵌套)。所以举个例子,在我的测试代码String
s中,这里有两个例子:
Sangria API 需要这些类型的Map[String, Any]
.
我已经尝试了很多方法,但到目前为止还无法Decoder
在 Circe 中为此编写一个。任何帮助表示赞赏。
scala - 不兼容的 Jackson 版本:sbt 中的 2.7.1?
从 sbt 运行 TwitterServer 时出现此错误:
2.7 Jackson 依赖项正在从其他地方(circe)传递过来。我以为我可以通过这种方式将其覆盖为 2.6.7,但它似乎没有效果:
知道为什么这不会覆盖任何东西吗?
scala - `circe` 类型级 Json => 一个函数?
使用circe
or argonaut
,我怎样才能写一个Json => A
(注意 -Json
可能不是类型的名称)A
由SSN
类给出的位置:
?
伪代码:
// assuming this function is named f
f(JsArray(JsNumber(1)))
不会成为一个,A
因为它的大小是 1,而
f(JsArray(JsNumber(1), ..., JsNumber(8)))
===SSN(SizedList(1,...,8))