为什么我没有在日志中获取JSON正文?

时间:2018-10-05 07:41:26

标签: c# json

我正在使用HTTPClient将JSON对象发送到REST Web服务,正在捕获响应,但仅在日志中获取标头,而不在响应主体中获取JSON响应。

相关代码如下

 HttpClient httpClient = new HttpClient();

 HttpResponseMessage response = await httpClient.PostAsync("https://example.com/api/checkout", new StringContent(transaction.ToString(), System.Text.Encoding.UTF8, "application/json"));

log.Info("response is " + response);

如何在响应中从主体捕获JSON响应?

2 个答案:

答案 0 :(得分:3)

您需要从内容流中读取正文

var json = await response.Content.ReadAsStringAsync();

答案 1 :(得分:0)

响应是返回的对象,其中包含多个属性,例如标头或httpcontext。

您需要将content属性读取为所需的类型,例如:

var jsonObj = await response.Content.ReadAsStringAsync();

您还可以跳过ReadAsStringAsync()并直接使用以下命令进行读取:

response.content.ReasAsSync<object>();