This package can deserialize any String, Stream, or StreamReader (On HAL+JSON format or not) provided by a web api response.  
On the package console run :
Install-Package HALJSonDeserializer
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");
If you have to retrieve a specific customer with FirstName and LastName as Arguments:
GetCustomerRequestArg arg = new GetCustomerRequestArg{FirstName="Bart",LastName="Hansen"};
Customer theCustomer = await HALJSonDeserializer .GetAndParseAsync<GetCustomerRequestArg, Customer>("http://localhost:8080/customer", arg);
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

Install-Package HALJSonDeserializer -Version
dotnet add package HALJSonDeserializer --version
paket add HALJSonDeserializer --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.


This package has no dependencies.

Version History

Version Downloads Last updated 667 3/18/2016 381 3/17/2016 345 3/17/2016
1.1.5 348 3/17/2016
1.1.4 253 3/17/2016
1.1.3 385 3/17/2016
1.1.2 523 3/16/2016
1.1.1 241 3/16/2016
1.1.0 245 3/16/2016
1.0.21 455 3/16/2016
1.0.3 270 3/16/2016
1.0.2 275 3/16/2016
1.0.1 273 3/16/2016