从 HttpEntity 获取 JSON
Get the JSON from HttpEntity
我正在使用 akka.http.scaladsl.model.HttpResponse、HttpEntity。
得到response后,是responseEntity类型的格式(Content-type: 'application/json', {MyJSONHERE})。有没有办法从实体中提取我的 json。
我试过 entity.getDataBytes 以 ByteString 格式给出实体的内容。我想正确阅读 JSON 并解析它。有人可以指导我吗?
你能试试下面的代码吗?
entity.getDataBytes.utf8String
那将 return JSON 的字符串表示。
下面的代码适合我
entity.dataBytes.runWith(Sink.fold(ByteString.empty)(_ ++ _)).map(_.utf8String) map { result =>
JsonMethods.parse(result)
}
dataBytes
returns Source[ByteString, Any]
, Sink.fold
将流的所有部分合并为一个 ByteString
和 utf8String
转换 ByteString
变成通常的 String
.
这里有一些关于 HttpEntity 的有用文档。
我正在使用 akka.http.scaladsl.model.HttpResponse、HttpEntity。
得到response后,是responseEntity类型的格式(Content-type: 'application/json', {MyJSONHERE})。有没有办法从实体中提取我的 json。
我试过 entity.getDataBytes 以 ByteString 格式给出实体的内容。我想正确阅读 JSON 并解析它。有人可以指导我吗?
你能试试下面的代码吗?
entity.getDataBytes.utf8String
那将 return JSON 的字符串表示。
下面的代码适合我
entity.dataBytes.runWith(Sink.fold(ByteString.empty)(_ ++ _)).map(_.utf8String) map { result =>
JsonMethods.parse(result)
}
dataBytes
returns Source[ByteString, Any]
, Sink.fold
将流的所有部分合并为一个 ByteString
和 utf8String
转换 ByteString
变成通常的 String
.
这里有一些关于 HttpEntity 的有用文档。