Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpHtPjs 461 of 509 menu
◀ ▶

JSON-тело POST в C#

Текст JSON кладут в StringContent и указывают тип "Content-Type: application/json". Запрос PostAsync создаёт запись. Учебный jsonplaceholder часто возвращает в теле присвоенный id.

После успешного POST из ответа читают id. В консоли True, если это число больше нуля:

using System.Net.Http; using System.Text; using System.Text.Json; using HttpClient client = new(); using HttpContent body = new StringContent("{\"title\":\"demo\",\"body\":\"x\",\"userId\":1}", Encoding.UTF8, "application/json"); using HttpResponseMessage response = await client.PostAsync("https://jsonplaceholder.typicode.com/posts", body); response.EnsureSuccessStatusCode(); using JsonDocument doc = JsonDocument.Parse(await response.Content.ReadAsStringAsync()); Console.WriteLine(doc.RootElement.GetProperty("id").GetInt32() > 0);

При ошибке валидации сервер может вернуть 4xx с телом-описанием; jsonplaceholder редко отклоняет учебные POST. Клиент без проверки кода может разобрать HTML-страницу ошибки как JSON и получить JsonException.

Отправьте на "https://httpbin.org/post" JSON с полем "name" и значением "ada". Выведите часть тела ответа, где видно "ada".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить