4

我正在使用 akka.http.scaladsl.model.HttpResponse、HttpEntity。

得到响应后,它的类型为 responseEntity 格式(Content-type: 'application/json', {MyJSONHERE})。有没有办法可以从实体中提取我的 json。

我尝试了 entity.getDataBytes,它以 ByteString 格式给出实体的内容。我想正确读取 JSON 并解析它。有人可以指导我吗?

4

2 回答 2

5

下面的代码对我有用

entity.dataBytes.runWith(Sink.fold(ByteString.empty)(_ ++ _)).map(_.utf8String) map { result =>
  JsonMethods.parse(result)
}

dataBytes返回Source[ByteString, Any]Sink.fold将流的所有部分合并为一个ByteStringutf8String转换ByteString为通常的String

这是一些关于HttpEntity的有用文档。

于 2017-07-21T06:56:59.063 回答
1

你可以试试下面的代码吗?

entity.getDataBytes.utf8String

这将返回 JSON 的字符串表示形式。

于 2017-07-19T14:36:05.377 回答