Désérialisation d'une chaîne json avec newtonsoft ou restsharp

j'ai une chaîne qui sort d'une base de données au format Json.

j'ai essayé de désérialiser avec:

RestSharp.Deserializers.JsonDeserializer deserial = new JsonDeserializer();
var x = deserial .Deserialize<Customer>(myStringFromDB)

Mais .Deserialize la fonction attend un IRestResponse

y a-t-il un moyen d'utiliser RestSharp pour simplement désérialiser les chaînes brutes?

25
demandé sur Felipe Oriani 2013-05-13 23:54:53
la source

2 ответов

j'ai aussi ce problème, et je le résous en utilisant le Newtonsoft.Json.

incluez ces espaces de noms:

using Newtonsoft.Json;
using RestSharp;

et essayer quelque chose comme ceci:

return JsonConvert.DeserializeObject<T>(response.Content);

Sur le response.Content, vous aurez le résultat brut, alors désérialisez cette chaîne à un objet json. T dans le cas est le type que vous devez désérialiser. Par exemple:

var customerDto = JsonConvert.DeserializeObject<CustomerDto>(response.Content);
27
répondu Felipe Oriani 2016-05-20 15:32:06
la source

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);

mises en garde s'appliquent - pas testé mais semble fonctionner assez bien.

32
répondu StevieJ81 2013-08-08 06:37:58
la source

Autres questions sur