J'ai une chaîne qui sort d'une base de données au format Json.
J'ai essayé de le désérialiser avec:
RestSharp.Deserializers.JsonDeserializer deserial = new JsonDeserializer();
var x = deserial .Deserialize<Customer>(myStringFromDB)
Mais le .Deserialize
la fonction attend un IRestResponse
Existe-t-il un moyen d'utiliser RestSharp pour désérialiser simplement les chaînes brutes?
J'ai également ce problème, et je le résout en utilisant Newtonsoft.Json
.
Inclure ces espaces de noms:
using Newtonsoft.Json;
using RestSharp;
et essayez quelque chose comme ceci:
return JsonConvert.DeserializeObject<T>(response.Content);
Sur le response.Content
, vous aurez le résultat brut, il vous suffit donc de désérialiser cette chaîne en un objet json. Le T
dans le cas est le type que vous devez désérialiser. Comme échantillon:
var customerDto = JsonConvert.DeserializeObject<CustomerDto>(response.Content);
Si vous voulez éviter d'utiliser des bibliothèques supplémentaires, essayez ceci:
RestSharp.RestResponse response = new RestSharp.RestResponse();
response.Content = myStringFromDB;
RestSharp.Deserializers.JsonDeserializer deserial = new JsonDeserializer();
Customer x = deserial.Deserialize<Customer>(response);
Des mises en garde s'appliquent - pas largement testées - mais semblent fonctionner assez bien.