HALJSonDeserializer 1.1.3
This package can deserialize any String, Stream, or StreamReader (On HAL+JSON format or not) provided by a web api response.
Installation:
On the package console run :
Install-Package HALJSonDeserializer
Usage:
After installation you must include the namespace of the package where you will use it:
using haljson;
So now: suppose that you want to call a web api via "http://localhost:8080/customer" in your c# code and to parse it into your custom type called "Customer". This can be done simply as follows:
Customer theCustomer = HALJSonDeserializer .GetAndParse<Customer>("http://localhost:8080/customer");
For async call you can do this:
Customer theCustomer = await HALJSonDeserializer .GetAndParseAsync<Customer>("http://localhost:8080/customer");
What about the post request?
To post a request with parametters and receive a response you can do so:
Create a Class For your request arguments here "GetFullNameRequest" and an other Class for the response here "GetFullNameResponse".
GetFullNameRequest arg = new GetFullNameRequest{FirstName="Bart",LastName="Hansen"};
GetFullNameResponse fulName = await HALJSonDeserializer.PostAndParseResponseAsync<GetFullNameRequest,GetFullNameResponse>("http://localhost:8080/GetFullName",arg);
If you just want to deserialize a Stream, a StreamReader or a string, there are three extension methods for them. You can do that as follows:
Customer theCustomer = myStream.ToObject<Customer>(); //For a Stream
Customer theCustomer = myStreamReader.ToObject<Customer>(); //For a StreamReader
Customer theCustomer = myString.ToObject<Customer>(); //For a string
See the version list below for details.
Install-Package HALJSonDeserializer -Version 1.1.3
dotnet add package HALJSonDeserializer --version 1.1.3
<PackageReference Include="HALJSonDeserializer" Version="1.1.3" />
paket add HALJSonDeserializer --version 1.1.3
#r "nuget: HALJSonDeserializer, 1.1.3"
Release Notes
This Release includes the Post request behavior
Dependencies
This package has no dependencies.
Used By
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.