我不知道如何使用 HttpClient 发布 JSON。我找到了一些解决方案,like this,但我必须使用 HttpClient,这是异步的原因,并且必须添加 header 。
下面是我的代码。知道如何解决吗?
List<Order> list = new List<Order> { new Order() { Name = "CreatedTime", OrderBy = 1 } };
Queues items = new Queues { Orders = list };
var values = new Dictionary<string, string> { { "Orders", JsonConvert.SerializeObject(list) } };
var content = new FormUrlEncodedContent(values);
//HttpContent cc = new StringContent(JsonConvert.SerializeObject(items));
_msg = await _client.PostAsync(input, content);
//_msg = await _client.PostAsync(input, cc);
var response = await _msg.Content.ReadAsStringAsync();
最佳答案
您可以使用方法PostAsJsonAsync可以在扩展程序集中找到:
System.Net.Http.Formatting.dll
例子
public static async Task SendJsonDemo(object content)
{
using(var client = new HttpClient())
{
var response = await client.PostAsJsonAsync("https://example.com", content);
}
}
如果要向请求添加自定义 header ,请将其添加到 DefaultRequestHeaders
:
client.DefaultRequestHeaders.Add("mycustom", "header1");
关于c# - 如何使用 C# 使用 HttpClient 发布 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468484/