问题标签 [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 投票
2 回答
440 浏览

json - 在喷雾中发布请求。如何在服务器端捕获它?

我需要使用 Spray 发出发布请求,但我不明白如何在服务器端捕获请求。这是我的代码:

客户:

SERVER(4 个测试中的任何一个都没有捕获到请求):

请帮帮我

0 投票
1 回答
3875 浏览

akka - 在 spray-json 中解组嵌套的 json

使用spray-json(因为我正在使用spray-client)为了从谷歌地图API获取纬度、经度对象,我需要设置整个响应结构:

有什么办法可以Location从响应中的 json 中获取并避免所有这些口香糖吗?

喷雾客户端代码:

或者,我怎样才能将杰克逊与喷雾客户端一起使用?

0 投票
1 回答
958 浏览

json - 如何使用 scala 和 json spray 将混合类型值的 json 转换为 json

我尝试了 json spray 的教程,但我有一个不同的字符串,其中一个值是字符串,另一个是列表。如何将以下字符串转换为每个键是列表或字符串的 json 对象?

我写了一小段代码,但不能从这里继续:

如果我不能,我如何获得一些键的值(希望没有正则表达式)我宁愿避免为它创建一个特定的对象,因为有些键可以改变。

谢谢,大卫

0 投票
1 回答
9767 浏览

scala - 找不到参数编组器的隐式值:spray.httpx.marshalling.ToResponseMarshaller

我在用着

并得到这个错误:

找不到参数编组器的隐式值:spray.httpx.marshalling.ToResponseMarshaller[List[org.bwi.models.Cluster]]

使用此代码:

}

我已经尝试过关于这个问题的建议,但没有奏效,同样的错误。

我似乎无法弄清楚我需要导入的隐含内容是什么。任何帮助,将不胜感激。

0 投票
0 回答
201 浏览

scala - 如何通过值的运行时类型查找 spray-json 格式化程序?

使用 spray-json 的传统方法似乎是JsonFormats在编译时将所有模型绑定到适当的(内置或自定义),格式都是隐式的。有没有办法在运行时查找格式化程序?我正在尝试编组一个异构的值列表,而我看到的唯一方法是

  1. 编写一个显式查找(例如使用模式匹配),硬编码哪个格式用于哪个值类型,或者
  2. 使用反射来找到所有隐含的东西很疯狂

我对 Scala 和 spray-json 都很陌生,所以我担心我错过了一些更简单的方法。


更多上下文:我正在尝试编写一个自定义序列化程序,它只写出(惰性)对象字段的指定子集。我在运行时遍历指定字段(字段名称)的列表并通过反射获取值(实际上它比这更复杂,但足够接近),现在对于每个我需要找到一个JsonFormat可以序列化它的值。

0 投票
3 回答
7228 浏览

json - spray-json JsString 对字符串值的引用

我正在使用 json-spray。似乎当我尝试打印已解析的 JsString 值时,它在字符串上包含了以书本结尾的引号。

哪个输出:

但这意味着 key1 的字符串值实际上是引用的,因为 scala 显示没有引号的字符串。即val k = "value1"输出:value1不是"value1"。也许我做错了什么,但我能想出的最好的缓解方法如下:

输出正确显示的字符串:

但是这个解决方案不适用于递归嵌套的 JSON。有更好的解决方法吗?

0 投票
2 回答
18986 浏览

json - Spray-Json:如何解析 Json 数组?

我是 Spray-Json API 的新手,我正在尝试解析来自 Docker REST API 的 Json 响应。

一个使用 Spray-Json 解析此 Google Map Json 响应的干净示例:

在上面的例子中,最外层是一个Object. 但是,我需要直接解析一个 Json 响应,其最外层是Array由容器信息组成的,如下所示:

这是我改编自 Google 地图示例的代码:

下面是我得到的例外 ( Object expected) :

我当然错过了一些明显的东西,但是如何使用 Spray-Json 解析 Json 数组?

此外,是否有一种简单的方法可以做到这一点而无需处理自定义 JsonFormat 或 RootJsonFormat?

0 投票
2 回答
191 浏览

json - 有没有更实用的方法来执行这个请求序列?

有一个 REST api,它返回一个带有 json 列表(命名结果)的 json 和一个指向下一批结果的 url(对于最后一个“页面”,这个 url 等于 null)。我想汇总整个结果(将所有 json 列表连接成一个)。我正在使用 spray-client 来执行 GET 请求,这就是我想出的:

我的问题是:有没有办法让它更实用?(避免递归或使其尾递归?)。甚至,spray 是否支持惯用的这种聚合?

0 投票
0 回答
317 浏览

spray - 测试 spray.io 响应

我有下一个代码:

index方法中,我foo.scala.html使用Twirl. 我想测试这种行为:

但我得到了错误:

Tests.scala:49: could not find implicit value for evidence parameter of type spray.httpx.unmarshalling.FromResponseUnmarshaller[List[pack.Foo]] [error] responseAs[List[Foo]] should be(List(t0, t1))

我定义了隐式方法:

但我不知道我应该在正文中写什么。谢谢。

0 投票
1 回答
656 浏览

scala - 如何使用 squeryl 和 spray-json 为 Play2 中的表实现通用 REST api

我正在尝试在 Play2 中实现一个控制器,它为我的数据库表公开了一个简单的 REST 样式的 api。我使用squeryl进行数据库访问,并使用spray-json 将对象转换为 json

我的想法是有一个通用控制器来完成所有的工作,所以我在中设置了以下路线conf/routes

..和以下控制器:

(是的,缺少创建/更新/删除,但让我们先阅读工作)

我已经通过扩展的 squeryl 将表映射到案例类Schema

我已经告诉 spray-json 我的案例类,所以它知道如何转换它们。

到目前为止一切顺利,只要我直接使用表实例,它实际上工作得很好。当我尝试生成代码时,问题就出现了,这样我最终得到了一个用于访问所有表的控制器:我遇到了一些无法编译的代码,我不确定下一步是什么。

这似乎是 spray-json 的类型问题,当我试图在我的getAll函数中将对象列表转换为 json 时会发生这种问题。

这是我的一般尝试:

编译错误:

我猜这个问题可能是 json-library 需要在编译时知道我要扔给它的模型类型,但我不确定(注意List[_$2]那个编译错误)。我已尝试对编译并返回结果的代码进行以下更改:

  1. 删除通用的表查找 ( MyDB.tables.find(.....).get) 并改用特定的表实例,例如MyDB.accountsTable. 证明 JSON 序列化工作但是,这不是通用的,需要一个唯一的控制器和 db 中每个表的路由配置
  2. 在调用 toJson 之前将对象列表从 db 查询转换为字符串。即:toList.toJson--> toList.toString.toJson证明表的通用查找有效但不是正确的 json 响应,因为它是字符串序列化的对象列表。

有人想吗?