web-dev-qa-db-ja.com

newtonsoftまたはrestsharpを使用してJSON文字列を逆シリアル化する

Json形式のデータベースから取得した文字列があります。

私はそれを逆シリアル化しようとしました:

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

しかし .Deserialize関数にはIRestResponseが必要です

RestSharpを使用して生の文字列を逆シリアル化する方法はありますか?

28

私もこの問題を抱えており、 Newtonsoft.Json

これらの名前空間を含めます。

using Newtonsoft.Json;
using RestSharp;

次のようなものを試してください:

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

response.Content、生の結果が得られるので、この文字列をjsonオブジェクトに逆シリアル化します。この場合のTは、逆シリアル化する必要がある型です。サンプルの場合:

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

追加のライブラリの使用を避けたい場合は、これを試してください:

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

response.Content = myStringFromDB; 

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

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

警告が適用されます-十分にテストされていません-しかし、十分に機能しているようです。

38
StevieJ81