Подтвердить что ты не робот

Дессериализация строки json с помощью newtonsoft или restsharp

У меня есть строка, которая выводится из базы данных, которая находится в формате Json.

Я попытался десериализировать его с помощью

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

Но функция .Deserialize ожидает IRestResponse

Есть ли способ использовать RestSharp для десериализации сырых строк?

4b9b3361

Ответ 1

У меня также есть эта проблема, и я решаю ее с помощью Newtonsoft.Json.

Включить тезисы пространств имен:

using Newtonsoft.Json;
using RestSharp;

и попробуйте что-то вроде этого:

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

В response.Content у вас будет исходный результат, поэтому просто десериализуем эту строку для json-объекта. T в этом случае является типом, который необходимо выполнить для десериализации. Для образца:

var customerDto = JsonConvert.DeserializeObject<CustomerDto>(response.Content);

Ответ 2

Если вы хотите избежать использования дополнительных библиотек, попробуйте следующее:

RestSharp.RestResponse response = new RestSharp.RestResponse();

response.Content = myStringFromDB; 

RestSharp.Deserializers.JsonDeserializer deserial = new JsonDeserializer();

Customer x = deserial.Deserialize<Customer>(response);

Предостережения применяются - не подвергаются обширной проверке - но, похоже, работают достаточно хорошо.