Provides extension methods for System.Net.Http.HttpClient and System.Net.Http.HttpContent that perform automatic serialization and deserialization using System.Text.Json. Commonly Used Types: System.Net.Http.Json.HttpClientJsonExtensions System.Net.Http.Json.HttpContentJsonExtensions System.Net.Http.Json.JsonContent
$ dotnet add package System.Net.Http.JsonProvides extension methods for System.Net.Http.HttpClient and System.Net.Http.HttpContent that facilitate serialization and deserialization of HTTP requests using System.Text.Json.
HttpContent instances.using System.Net.Http.Json;
using var client = new HttpClient();
// Get the list of all books
Book[] books = await client.GetFromJsonAsync<Book[]>("https://api.contoso.com/books");
// Send a POST request to add a new book
var book = new Book(id: 42, "Title", "Author", publishedYear: 2023);
HttpResponseMessage response = await client.PostAsJsonAsync($"https://api.contoso.com/books/{book.id}", book);
if (response.IsSuccessStatusCode)
Console.WriteLine("Book added successfully.");
else
Console.WriteLine($"HTTP request failed with status code: {response.StatusCode}");
public record Book(int id, string title, string author, int publishedYear);
The main types provided by this library are:
HttpClientJsonExtensionsHttpContentJsonExtensionsSystem.Net.Http.Json is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.