ch1seL.JStreamAsyncExtensions.Newtonsoft 1.0.5

Easy way to serialize/deserialize objects to/from an async stream

Install-Package ch1seL.JStreamAsyncExtensions.Newtonsoft -Version 1.0.5
dotnet add package ch1seL.JStreamAsyncExtensions.Newtonsoft --version 1.0.5
<PackageReference Include="ch1seL.JStreamAsyncExtensions.Newtonsoft" Version="1.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ch1seL.JStreamAsyncExtensions.Newtonsoft --version 1.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

ch1seL.JStreamAsyncExtensions.Newtonsoft

Easy way to serialize/deserialize objects to/from an async stream

How to use

Install-Package ch1seL.JStreamAsyncExtensions.Newtonsoft

Using with HttpClient

MyObject @object = await client.GetJsonAsAsync<MyObject>(uriObject);

HttpResponseMessage response = await client.PostAsJsonAsync(uri, @object)
ResponseObject responseObject = await client.PostAsJsonWithResultAsync<RequestObject,ResponseObject>(uri, requestObject)

HttpResponseMessage response = await client.PutAsJsonAsync(uri, @object)
ResponseObject responseObject = await client.PutAsJsonWithResultAsync<RequestObject,ResponseObject>(uri, requestObject)

Using with HttpResponseMessage

MyObject @object = await client.GetAsync(uriObject).ToObjectAsync<MyObject>();
MyObject[] array = await client.GetAsync(uriArray).ToArrayAsync<MyObject>();

or if you want to manage the response(here's implementation of methods used above)

HttpResponseMessage responseObject = await client.GetAsync(uriObject);
responseObject.EnsureSuccessStatusCode();
MyObject @object = await responseObject.Content.ReadAsStreamAsync().ToObjectAsync<MyObject>();

HttpResponseMessage responseArray = await client.GetAsync(uriArray);
responseArray.EnsureSuccessStatusCode();
MyObject[] array = await responseArray.Content.ReadAsStreamAsync().ToArrayAsync<MyObject>();

Using with FileStream and Stream

MyObject @object = await File.OpenRead(filePath).ToObjectAsync<MyObject>();
//some act for @object
await File.OpenWrite(filePath).WriteFromObjectAsync(@object);

MyObject[] array = await File.OpenRead(filePath).ToArrayAsync<MyObject>();
//some act for array
await File.OpenWrite(filePath).WriteFromArrayAsync(array);

ch1seL.JStreamAsyncExtensions.Newtonsoft

Easy way to serialize/deserialize objects to/from an async stream

How to use

Install-Package ch1seL.JStreamAsyncExtensions.Newtonsoft

Using with HttpClient

MyObject @object = await client.GetJsonAsAsync<MyObject>(uriObject);

HttpResponseMessage response = await client.PostAsJsonAsync(uri, @object)
ResponseObject responseObject = await client.PostAsJsonWithResultAsync<RequestObject,ResponseObject>(uri, requestObject)

HttpResponseMessage response = await client.PutAsJsonAsync(uri, @object)
ResponseObject responseObject = await client.PutAsJsonWithResultAsync<RequestObject,ResponseObject>(uri, requestObject)

Using with HttpResponseMessage

MyObject @object = await client.GetAsync(uriObject).ToObjectAsync<MyObject>();
MyObject[] array = await client.GetAsync(uriArray).ToArrayAsync<MyObject>();

or if you want to manage the response(here's implementation of methods used above)

HttpResponseMessage responseObject = await client.GetAsync(uriObject);
responseObject.EnsureSuccessStatusCode();
MyObject @object = await responseObject.Content.ReadAsStreamAsync().ToObjectAsync<MyObject>();

HttpResponseMessage responseArray = await client.GetAsync(uriArray);
responseArray.EnsureSuccessStatusCode();
MyObject[] array = await responseArray.Content.ReadAsStreamAsync().ToArrayAsync<MyObject>();

Using with FileStream and Stream

MyObject @object = await File.OpenRead(filePath).ToObjectAsync<MyObject>();
//some act for @object
await File.OpenWrite(filePath).WriteFromObjectAsync(@object);

MyObject[] array = await File.OpenRead(filePath).ToArrayAsync<MyObject>();
//some act for array
await File.OpenWrite(filePath).WriteFromArrayAsync(array);

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.5 1,197 1/30/2020
1.0.4 156 1/30/2020
1.0.3 155 1/30/2020
1.0.2 161 1/30/2020
1.0.1 166 1/30/2020
1.0.0 178 1/30/2020