问题标签 [spray-json]

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

spray-json - 喷雾 Json 反序列化根序列

我想反序列化一个 Json 字符串,它是根节点处的序列。例如,

我如何使用 spray-json 来做到这一点?

0 投票
3 回答
5309 浏览

scala - spray Collection ToResponseMarshallable

我正在尝试从喷雾路由中的完整指令中返回一个列表。

但是,我收到一个错误-

我在使用 Seq 时遇到了同样的错误。我看到在 spray-httpx文档中默认不提供 List 和 Seq 的编组器。但是,spray-json 在其 DefaultJsonProtocol 中提供了编组支持。我在我的代码中导入了 spray.httpx.SprayJsonSupport._ 和 spray.json.DefaultJsonProtocol._ ,但这也没有帮助。

知道如何使用 spray-json 编组列表/序列吗?还是我必须编写自己的 Marshaller?

(我的 scala 版本是 2.11.4)

0 投票
1 回答
644 浏览

json - 神秘的喷雾 Json 错误消息

尝试解析一些 json 时收到以下错误消息:

我不太确定那是什么意思。这是我要解析的一段 json:

这是我试图将其解析为的案例类:

发起请求的方法在这里:

最后这就是我解析 Json 请求的方式:

我认为问题可能是请求返回一个 json 数组而不仅仅是一个 JSON 对象,所以我不确定我是否在getUnspentTXOs. 错误信息似乎很模糊。似乎 Spray 试图将 json 字段包装在 aVector而不是UnspentTXOcase 类的内部。我不确定为什么会这样。

0 投票
1 回答
412 浏览

json - Spray JSON - 反序列化可能具有不同值的字段

我面临解析 JSON 的问题,该字段可能是数组或单个对象。如果酒店有多个房间,则返回典型的 JsArray。但是,如果它只有一种类型的房间,它只会返回一个对象。

我正在尝试使用案例类来解析这种情况,尤其是针对这种情况的 List[Room]。但是,如果只返回一个对象,这将失败。有没有办法通过案例类来克服这个问题?如果不是,这个问题的解决方案是什么?

非常感谢你。

0 投票
1 回答
500 浏览

xml - 如何在scala中将xml数组转换为json数据

我在数组中有如下的xml数据,即每一行对应于数组中的单个元素

如何将此 xml 数组转换为 JSON 格式?

0 投票
1 回答
213 浏览

json - 用于非递归案例类的简单 Scala JSON 库

我有仅包含字符串或字符串集合的案例类,并且希望将它们转换为具有相应字段名称的 JSON 对象以及一个表示类型的附加字段。

大多数库对案例类都有特殊支持,但似乎从来没有一种方法可以将其与附加类型字段结合使用来消除同构案例的歧义,我不得不退回到更底层的描述。

到目前为止,我已经尝试过 spray-json 和 argonaut,我得到的样板文件比我的简单使用场景所证明的要多得多:

对于 argonaut,我什至无法弄清楚如何匹配类型字段,因为DecodeResult没有过滤方法:

是否有另一个库可以更好地处理这个问题,或者我忽略的其中一个库中有一些功能会显着减少样板文件?

0 投票
1 回答
66 浏览

scala - 在 Spray 中的帖子中更改正文字段名称

我正在考虑用类似这样的东西替换 POST 中 JSON 中名为“type”的字段

现在,有了这个新的 JSON,我想重新注入 POST 以将其视为新调用。我知道“重定向”,但在这种情况下我看不到使用它的方法。

谢谢!

0 投票
1 回答
528 浏览

mongodb - 具有任意 JSON 分支的 reactivemongo BSON 编写器/阅读器(也使用喷雾)

我正在使用喷雾构建 REST API。除了这个案例类之外,一切都运行良好:

这里的关键问题是data参数。它包含一个具有任意数量的成员、类型和级别的 json 对象 - 但仍然是有效的 json。

使用喷雾,我可以使用以下方法正确序列化/反序列化请求/响应:

问题是为reactivemongo读写BSON。我似乎无法弄清楚如何完成这些:

在???的地方,我怎样才能让这个任意的 JSON 分支正确地序列化/反序列化 BSON 以用于响应式mongo?

0 投票
1 回答
336 浏览

scala - 喷雾客户端中的解组器隐式解析

我有一个管道:

编译器说他不能find implicit value for parameter unmarshaller: spray.httpx.unmarshalling.FromResponseUnmarshaller[MyCustomType]

我已经像在此处的喷雾文档中的示例中那样完成了它。为什么它不能解决隐含?

EDIT val pipeline = sendReceive ~> unmarshal[MyCustomType]用于匿名类的方法。我发现如果我在那个匿名类中声明我的所有 jsonFomats(我的意思是MyJsonProtocol我替换为匿名类的东西)一切正常。

所以问题是为什么这不适用于匿名类?

0 投票
2 回答
1034 浏览

scala - 当 json 字段是可选的时使用 SprayJson

我正在编写一个 Scala restful API 并使用 SprayJson 来解析在 Post 调用期间传入的 JSON。例如,我们有一个如下所示的 JSON 结构:

字段 a、b、c 和 h 是必需的,但其他字段不是。我的案例类有一个自定义 JSON 格式化程序。由于各种原因,我需要构建案例类的方式需要我执行自定义 JSON 格式化程序。

这是我在格式化程序中读取函数的代码片段:

如何在没有大量案例字符串匹配可能出现的每个可能的字段排列的情况下实现上述内容?