我正在使用akka.http.scaladsl.model.HttpResponse,HttpEntity。
获得响应后,它的格式为responseEntity(内容类型:' application / json',{MyJSONHERE})。有没有办法可以从实体中提取我的json。
我尝试了entity.getDataBytes,它以ByteString格式给出了实体的内容。我想正确阅读JSON并解析它。有人可以指导我吗?
答案 0 :(得分:2)
以下代码适用于我
entity.dataBytes.runWith(Sink.fold(ByteString.empty)(_ ++ _)).map(_.utf8String) map { result =>
JsonMethods.parse(result)
}
dataBytes
返回Source[ByteString, Any]
,Sink.fold
将流的所有部分合并为一个ByteString
和utf8String
将ByteString
转换为常规String
}}
以下是一些有关HttpEntity的有用文档。
答案 1 :(得分:1)
您可以尝试以下代码吗?
entity.getDataBytes.utf8String
这将返回JSON的String表示。