当前位置: 首页 > 知识库问答 >
问题:

从HttpEntity获取JSON

羊光辉
2023-03-14

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

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

我尝试了entity.GetDataBytes,它以字节字符串格式给出实体的内容。我想正确阅读JSON并解析它。有人能给我指点一下吗?

共有1个答案

晏德佑
2023-03-14

下面的代码适用于我

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

databytes返回源[ByteString,Any],sink.fold将流的所有部分组合为一个字节字符串,utf8string字节字符串转换为通常的字符串

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

 类似资料:
  • 我使用Spring设置,使用json映射转换器将POJO类作为json发送回客户端。 例如。: 这将返回例如类似于客户端的内容: 我想截取所有控制器操作,将json包装成如下内容: 最好的方法是什么?

  • 问题内容: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://my.server:8080/android/service.php"); 生成一个json字符串。我该如何从我的手机上获取?顺便说一句; 我已经将该库排除在外了,我可以在其中使用任何方法吗? 有更好的方法,

  • 问题内容: 我正在解决有关作为服务器响应的JSONObject的问题。 正如您在响应中看到的那样,我正在解析JSONObject并创建syncresponse,synckey作为 JSON对象 createdtrs,modtrs,deletedtrs作为 JSONArray 。我想从Deletedtrs访问JSONObject,以便可以将它们分开并使用这些值。即我想提取公司编号,用户名,日期等。

  • 我有一个简单的取回请求。我不是promise和异步代码方面的专家,但据我所知,fetchurl发送一个请求来打开/获取/发布一个url,并返回传递该内容的promise(响应)。当获取内容时,我可以在文本(response.text())中解析它。解析后的文本/json,无论什么,都会作为数据传递给另一个函数,并在这里进行处理 **JS代码** 因此,如果我获取一个PHP URL,返回一个json

  • 问题内容: 我有一个json文本,我想获取作者姓名和描述标签的值。不需要其他字段,例如url和urltoimage等。当我运行以下代码时,不提供任何字符串值。我认为这里有些错误。 怎么得到这个?下面是我的代码,它根本不起作用 上面的代码返回对象未设置为实例错误! 问题答案: 假设您希望反序列化为具体的类(按照问题中第二种尝试的方法),那么您需要一个包装器类来容纳整个对象,然后对此进行反序列化。 目

  • 问题内容: Android 中的class或org.apache.http.HttpEntity的目的是什么? 什么时候应该使用它会产生副作用? 我正在尝试修复应用程序中的一个错误,该错误使用HttpClient向服务器发出请求,有时即使一个特定的请求失败,尽管互联网正常,但随后也会失败。应用在输入流读取结束时调用此方法。 问题答案: 正如@Sotirios建议的那样,已弃用,因此请在可行时使用。