从 HttpEntity 获取 json

Fetch the json from HttpEntity

我有一个 akka.http.scaladsl.model.HttpEntity 的对象,看起来像 HttpEntity("application/json", {这里是我的json})

有没有一种方法可以从实体中获取我的 json 而无需任何字符串操作(除了转换为字符串并进行拆分)

您将需要一个 JSON 解析器和 JSON 解析器与 Akka Http 之间的粘合代码 Unmarshaller

A​​kka Http 包含 unmarshallers for spray-json library. You can find more unmarshallers in 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]