当前位置: 首页 > 面试题库 >

如何以文本形式读取HttpResponseMessage内容

沈乐邦
2023-03-14
问题内容

我使用HttpResponseMessage类作为AJAX调用的响应,该调用从服务返回JSON数据。从服务返回AJAX调用后暂停执行时,我看到此类包含一个Content属性,该属性的类型为System.Net.Http.StreamContent。

如果在浏览器中进行检查,我会看到成功进行了网络调用,并以JSON数据作为响应。我只是想知道为什么我无法在Visual
Studio中看到返回的JSON文本?我搜索了整个System.Net.Http.StreamContent对象,但没有看到任何数据。

public async Task<HttpResponseMessage> Send(HttpRequestMessage request) {
    var response = await this.HttpClient.SendAsync(request);
    return response;
}

问题答案:

响应的文本表示形式隐藏在该类的Content属性中HttpResponseMessage。具体来说,您将获得如下响应:

response.Content.ReadAsStringAsync();

与所有现代 Async 方法一样,ReadAsStringAsync返回Task。要直接获得结果,请使用Result任务的属性:

response.Content.ReadAsStringAsync().Result;

请注意这Result是阻塞。您也可以await ReadAsStringAsync()



 类似资料:
  • 我正在尝试将活动转换为片段。< code>runOnUiThread上的错误标记。关于过去: GoogleActivityV2从活动扩展而来。在类ExecuteTask中运行Nuithread。类ExecuteTask嵌套在活动上。 (运行正常)现在: GoogleActivityV2从片段扩展而来。在类ExecuteTask中运行Nuithread。类ExecuteTask嵌套在活动上。(run

  • 问题内容: 我目前正在使用HTML5 File API,并且需要获取二进制文件数据。 的和方法可以正常使用,但返回的数据与相同。 我需要二进制数据,但是我正在获取文本字符串。我想念什么吗? 问题答案: 请注意2018年 :已过时。对于以前曾使用过的用例,最近这些天将使用(或在某些情况下为)。 表示必须将数据表示为 二进制字符串 ,其中: …每个字节都由[0..255]范围内的整数表示。 JavaS

  • 我们目前正在开发云数据流上的概念验证Apache Beam管道。我们将一些文件(没有文本;自定义二进制格式)放入Google Cloud Buckets,并希望将这些文件作为byte[]读取,并在流中反序列化它们。但是,我们找不到能够读取非文本文件的波束源。唯一的想法是扩展类,但我们认为应该有一个更简单的解决方案,因为这听起来是一个非常简单的任务。 谢谢你们的帮助。

  • 我有这个Spring Rest APIendpoint: XML模型。 但没有任何内容打印到控制台中。知道我错在哪里吗?可能这个组件没有注册?

  • 我需要采取以下形式的输入得分/最大(例93/100),并将其存储为浮动变量。我遇到的问题是python做反斜杠表示的除法,因为两个数字是整数,结果是0。即使我将输入转换为浮点数,结果也是0.0。这里是我的代码供参考: 如果输入93/100,exam1变量将等于0.0,而不是预期的0.93。

  • 我已经将选项设置为我的时区(并且我也尝试了),这样就节省了时间,但是,当从数据库读取时间时,Sequelize会将其转换为UTC。我也尝试了不同的时区,每一个都正确保存,但总是转换为UTC时,从数据库读取。 是我做错了什么,还是这是一个已知的问题,有什么解决方法吗?