问题标签 [json4s]
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 - 基于请求内容类型的不同路由 Spray Routing 1.2.1
我想支持几种不同的内容类型提交到同一个 URL:
例如:
application/x-www-form-urlencoded
, multipart/form-data
,application/json
我想做类似的事情:
我认为可能有一些方法可以通过自定义编组和解组来做到这一点,但我只需要在我的服务中的一两个位置使用它,这看起来很简单。有人可以帮忙吗?
json - 使用 json4s 如何在序列化过程中动态添加字段
我有一个包含多个DateTime
字段的案例类。在使用json4s
序列化它时,我想将这些字段中的每一个序列化为 2 个单独的字段 - 一个在格式化的日期时间字符串中,另一个在 unix 时间戳中。
因此,例如案例类是:
对于一个对象:
我希望序列化的 json 字符串为:
我已经尝试过FieldSerializer
,CustomSerializer
但无法让它工作。
scala - 如何使用 json4s 将对象序列化为 AST?
我正在写一个客户序列化器。在那个序列化器中,我想以某种方式说:“这个东西你已经知道如何序列化了”。
我目前的方法是这样的:
那parse(write(frame))
东西既丑陋又低效。如何解决?
mongodb - ReactiveMongo & JSON4S
我正在使用 JSON4S 解析从外部 API 获得的一些 JSON 字符串。
无论如何,有没有像 playreactivemongo JSONCollection 或 sprest 中的 sprest 到响应式 mongo 转换器那样获得 JSON 实体?
它易于使用带有标准 Mongo Casbah 库的 JSON4S,例如builder.insert(JObjectParser.parse(obj))
但我真的希望能够用reactivemongo 做到这一点。
json - Combining type and field serializers
Let's assume I have a case class with the following setup:
I can write a (working!) serializer for this type as follows:
But assuming my case class eventually has a lot more fields, this could lead to me enumerating the entire structure of the object with the AST, creating something that's very verbose just to encode primitives.
json4s appears to have field serializers that can act only on specific fields, with boilerplate methods included to easily transform names and discard fields. These, however, have the following signature for their serialize
and deserialize
partial functions:
Since JField
(the type that representes a key -> val from the json) is its own type and not a subclass of JValue
, how can I combine these two types of serializers to properly encode the id
key by its name to a UUID
, while maintaining the default handling of the other fields (which are primitive datatypes).
Essentially I'd like a format chain that understands the field within Place
is a UUID, without having to specify AST structure for all the fields that DefaultFormats
can already handle.
What I'm looking for specifically is to mimic a pattern similar to the JSONEncoder
and JSONDecoder
interfaces in python, which can use the key name as well as value type to determine how to handle the marshalling for the field.
scala - json4s:将类型转换为 JValue
我有一些源对象src
,想从中得到一个JValue
。json4s 的所有示例和文档似乎都围绕着获取 JSON 编码的字符串,如下所示:
如果我只想要最终结果,那就太好了,但我更愿意写一个:
这似乎ToJsonWritable[T]
是我想要使用的,但我似乎找不到一个实现Writer[AnyRef]
(我也找不到 json4s 的 scaladocs,它只会告诉我实现)。
java - JSON4S + Jackson 不序列化超类的属性
我在 scala 项目中使用 json4s 和 jackson 序列化程序。我的传输对象是在常规 Java 库中定义的。我还使用 Lombok 来生成构造函数/getter/setter/等。它们如下所示:
问题是汽车的 json 缺少超类的 id 属性。它看起来像这样:
在scala中,我定义了这个隐式
我经常在常规 Java 项目中使用 Jackson,但从未遇到过这个问题。有任何想法吗?
json - 如何在json4s中添加输入来解析异常?
假设我正在解析 JSONjson4s
.
可能会parse
引发异常。不幸的是,这些异常不包含输入(json
),有时我无法理解和重现它们。
我可以包装parse
用包装器包装(见下文),但它不起作用
现在如果json
是一个InputStream
呢?我应该阅读流吗?如果 JSON 非常大怎么办?我可能不需要整个流。我只需要它的一部分,直到parse
失败的角色。
您如何建议将输入添加到解析异常?
scala - Scala monad 在 Future[T] 中携带 HTTP url/params
我已经在 scala 中实现了以下 monad,它使用用于请求的 URL 和参数包装了调度结果
我遇到的问题在于flatmap
. 为了flatmap
正确,url
andparams
需要来自f
,即f: T => Result[S]
。在上面的示例中,虽然它编译得很好并且签名正是我所需要的,但self.url
andself.params
意味着url
and永远不会被正在编辑params
的 that 更新,换句话说,我不知道如何获取and变量从何时被调用的应用程序。Result
flatMap
url
param
f
flatMap
尽管T
是必需的,但andRequest[S]
却不是必需的,那么从 the中分离出来的 scala 方法是什么,以便我可以正确定义?url
params
url,params
result
flatMap
注意:monad 背后的一般目的是让我可以处理HTTP
调度的结果(即Future[T]
),同时能够携带url
和params
用于请求,flatMaps
更新url
,params
和result
(它是一个新请求),其中映射只是修改result
编辑:这是我当前如何使用 monad 的示例
请注意,在此之前,这只是为了理解Future[T]
,但是这样做我丢失了使用的 URL/参数
scala - 如何将 json4s JValue 转换为 Jackson JsonNode?
如果我正在使用 json4s(使用 Jackson 绑定):
如何将org.json4s.JsonAST.JValue
上面的给定转换为 a com.fasterxml.jackson.databind.JsonNode
?
为什么我要这样做:我想JValue
使用优秀的json-schema-validator Java 库来针对 JSON 模式验证 s,该库将JsonNode
s 作为参数。
我正在寻找某种等同于Play Framework 处理JsValue
<> JsonNode
interop的方法。