【发布时间】:2017-12-24 12:58:41
【问题描述】:
我有一个 akka.http.scaladsl.model.HttpEntity 的对象,看起来像 HttpEntity("application/json", {Myjson here})
有没有一种方法可以在不进行任何字符串操作的情况下从实体中获取我的 json(除了转换为字符串并进行拆分)
【问题讨论】:
标签: json scala akka httpentity
我有一个 akka.http.scaladsl.model.HttpEntity 的对象,看起来像 HttpEntity("application/json", {Myjson here})
有没有一种方法可以在不进行任何字符串操作的情况下从实体中获取我的 json(除了转换为字符串并进行拆分)
【问题讨论】:
标签: json scala akka httpentity
您将需要一个 JSON 解析器以及一个位于 JSON 解析器和 Akka Http 之间的名为 Unmarshaller 的粘合代码。
Akka Http 包含unmarshallers for spray-json 库。您可以在 hseeberger/akka-http-json 库中找到更多解组器。
如果你选择使用 spray-json 的伪代码将是
case class MyJson(v1: String, v2: Int)
object JsonProtocol extends DefaultJsonProtocol {
implicit val myFormat = jsonFormat2(MyJson)
}
val resp: Future[MyJson] = Unmarshal(response).to[MyJson]
【讨论】: