Deserializing a json string with restsharp
There are sereval ways to do this. A very popular library to handle json is the Newtonsoft.Json
. Probably you already have it on your asp.net project but if not, you could add it from nuget
.
Considering you have a response object, include the following namespaces and call the static method DeserializeObject<T>
from JsonConvert
class:
using Newtonsoft.Json;
using RestSharp;
return JsonConvert.DeserializeObject<T>(response.Content);
On the response.Content
, you will have the raw result, so just deserialize this string to a json object. The T
in the case is the type you need to deserialize.
For example:
var customerDto = JsonConvert.DeserializeObject<CustomerDto>(response.Content);
Update
Recently, Microsoft has added a namespace System.Text.Json
which handle json format on the .Net platform. You could use it calling the JsonSerializer.Deserialize<T>
static method:
using System.Text.Json;
var customer = JsonSerializer.Deserialize<Customer>(jsonContent);
If you want to avoid using extra libraries, try this:
RestSharp.RestResponse response = new RestSharp.RestResponse();
response.Content = myStringFromDB;
RestSharp.Deserializers.JsonDeserializer deserial = new JsonDeserializer();
Customer x = deserial.Deserialize<Customer>(response);
Caveats apply - not extensively tested - but seems to work well enough.