从HttpEntity获取JSON

时间:2017-07-19 13:55:54

标签: json scala akka httpresponse httpentity

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

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

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

2 个答案:

答案 0 :(得分:2)

以下代码适用于我

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

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

以下是一些有关HttpEntity的有用文档。

答案 1 :(得分:1)

您可以尝试以下代码吗?

entity.getDataBytes.utf8String

这将返回JSON的String表示。