我正在使用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响应?
答案 0 :(得分:3)
您需要从内容流中读取正文
var json = await response.Content.ReadAsStringAsync();
答案 1 :(得分:0)
响应是返回的对象,其中包含多个属性,例如标头或httpcontext。
您需要将content属性读取为所需的类型,例如:
var jsonObj = await response.Content.ReadAsStringAsync();
您还可以跳过ReadAsStringAsync()并直接使用以下命令进行读取:
response.content.ReasAsSync<object>();