C# 为什么不在日志中获取JSON主体?
我使用HTTPClient向REST web服务发送JSON对象,我捕获响应,但我只在日志中获取头,而不是响应主体中的JSON响应 有关守则如下:C# 为什么不在日志中获取JSON主体?,c#,json,C#,Json,我使用HTTPClient向REST web服务发送JSON对象,我捕获响应,但我只在日志中获取头,而不是响应主体中的JSON响应 有关守则如下: HttpClient httpClient = new HttpClient(); HttpResponseMessage response = await httpClient.PostAsync("https://example.com/api/checkout", new StringContent(transaction.ToStrin
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响应?您需要从内容流中读取正文
var json = await response.Content.ReadAsStringAsync();
您需要从内容流中读取正文
var json = await response.Content.ReadAsStringAsync();
Response是返回的对象,它包含多个属性,如Header或httpcontext 您需要将content属性读入所需的类型,例如:
var jsonObj = await response.Content.ReadAsStringAsync();
您还可以跳过ReadAsStringAsync()并直接使用以下命令执行读取:
response.content.ReasAsSync<object>();
response.content.ReasAsSync();
Response是返回的对象,它包含多个属性,如header或httpcontext
您需要将content属性读入所需的类型,例如:
var jsonObj = await response.Content.ReadAsStringAsync();
您还可以跳过ReadAsStringAsync()并直接使用以下命令执行读取:
response.content.ReasAsSync<object>();
response.content.ReasAsSync();
通过从响应对象(例如wait response.Content.ReadAsStringAsync()
)读取它?通过从响应对象(例如wait response.Content.ReadAsStringAsync()
)读取它?是否没有办法将它直接读取到作业对象中?我需要得到它是字符串,然后序列化它?@MattDouhan为什么像JObject.Parse(wait response.Content.ReadAsStringAsync())
这样的东西对你来说是个问题?@MattDouhan 1stHttpResponseMessage
不是字符串。第二,阅读字符串
,然后将字符串
解析为和作业对象
,就像柯克·拉金所说的那样,没有办法直接将其读入作业对象?我需要得到它是字符串,然后序列化它?@MattDouhan为什么像JObject.Parse(wait response.Content.ReadAsStringAsync())
这样的东西对你来说是个问题?@MattDouhan 1stHttpResponseMessage
不是字符串。第二,阅读字符串
,然后像柯克·拉金说的那样,将字符串
解析为和作业对象