Чтобы отправить данные JSON с помощью C# HttpClient, вы можете использовать несколько методов. Вот некоторые распространенные подходы:
-
Использование метода
PostAsync:using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; class Program { static async Task Main() { using (var httpClient = new HttpClient()) { var json = "{\"key\":\"value\"}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await httpClient.PostAsync("http://example.com/api/endpoint", content); // Handle the response var responseContent = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseContent); } } } -
Использование метода
SendAsync:using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; class Program { static async Task Main() { using (var httpClient = new HttpClient()) { var json = "{\"key\":\"value\"}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var request = new HttpRequestMessage(HttpMethod.Post, "http://example.com/api/endpoint") { Content = content }; var response = await httpClient.SendAsync(request); // Handle the response var responseContent = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseContent); } } } -
Использование метода
PostAsJsonAsync(требуется пакет NuGet Newtonsoft.Json):using System; using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; class Program { static async Task Main() { using (var httpClient = new HttpClient()) { var payload = new { key = "value" }; var json = JsonConvert.SerializeObject(payload); var response = await httpClient.PostAsJsonAsync("http://example.com/api/endpoint", payload); // Handle the response var responseContent = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseContent); } } }
Эти методы демонстрируют, как отправлять данные JSON с помощью C# HttpClient различными способами. Выберите тот, который соответствует вашим требованиям и стилю кодирования.