代码之家  ›  专栏  ›  技术社区  ›  Nagireddy Hanisha

从HttpEntity获取JSON

  •  4
  • Nagireddy Hanisha  · 技术社区  · 7 年前

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

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

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

    2 回复  |  直到 7 年前
        1
  •  5
  •   kardapoltsev    7 年前

    下面的代码适合我

    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 .

        2
  •  1
  •   Abdhesh kumar    7 年前

    你能试试下面的代码吗?

    entity.getDataBytes.utf8String
    

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