我有一个 akka.http.scaladsl.model.HttpEntity 的对象,看起来像 HttpEntity("application/json", {Myjson here})
有没有一种方法可以在不进行任何字符串操作的情况下从实体中获取我的 json(除了转换为字符串并进行拆分)
我有一个 akka.http.scaladsl.model.HttpEntity 的对象,看起来像 HttpEntity("application/json", {Myjson here})
有没有一种方法可以在不进行任何字符串操作的情况下从实体中获取我的 json(除了转换为字符串并进行拆分)
您将需要一个 JSON 解析器和一个位于 JSON 解析器和 Akka Http 之间的名为Unmarshaller的胶水代码。
Akka Http 包括用于 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]