从HttpEntity获取JSON

从HttpEntity获取JSON,json,scala,akka,httpresponse,httpentity,Json,Scala,Akka,Httpresponse,Httpentity,我使用的是akka.http.scaladsl.model.HttpResponse,HttpEntity 获得响应后,它的类型为responseEntity,格式为(内容类型:'application/json',{MyJSONHERE})。是否有一种方法可以从实体中提取json 我尝试了entity.getDataBytes,它以ByteString格式提供实体的内容。我想正确地阅读JSON并解析它。有人能在这方面指导我吗 你能试试下面的代码吗 entity.getDataBytes.utf

我使用的是akka.http.scaladsl.model.HttpResponse,HttpEntity

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


我尝试了entity.getDataBytes,它以ByteString格式提供实体的内容。我想正确地阅读JSON并解析它。有人能在这方面指导我吗

你能试试下面的代码吗

entity.getDataBytes.utf8String

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

下面的代码适合我

entity.dataBytes.runWith(Sink.fold(ByteString.empty)(_ ++ _)).map(_.utf8String) map { result =>
  JsonMethods.parse(result)
}
dataBytes
返回
Source[ByteString,Any]
Sink。fold
通过testring将流的所有部分组合成一个
ByteString
,并
utf8String
ByteString
转换成普通的
字符串


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

相关-utfString未被识别为访问
utf8String
实体的有效函数。getDataBytes
必须返回ByteString,ByteString类具有utf8String函数。您使用的是
utfString
而不是
utf8String