c# - 使用 restsharp 反序列化 json 字符串

标签 c# json rest asp.net-web-api restsharp

我有一个来自 Json 格式的数据库的字符串。

我尝试使用以下方法对其进行反序列化:

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

但是 .Deserialize 函数需要一个 IRestResponse

有没有办法使用 RestSharp 来反序列化原始字符串?

最佳答案

有几种方法可以做到这一点。一个非常流行的处理 json 的库是 Newtonsoft.Json .可能您已经在您的 asp.net 项目中拥有它,但如果没有,您可以从 nuget 添加它.

考虑到你有一个响应对象,包含以下命名空间并调用静态方法DeserializeObject<T>来自 JsonConvert类:

using Newtonsoft.Json;
using RestSharp;
return JsonConvert.DeserializeObject<T>(response.Content);

response.Content 上,您将获得原始结果,因此只需将此字符串反序列化为 json 对象。 T在这种情况下是您需要反序列化的类型。

例如:

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

更新

最近,微软增加了一个命名空间 System.Text.Json在.Net平台上处理json格式。您可以使用它调用 JsonSerializer.Deserialize<T>静态方法:

using System.Text.Json;
var customer = JsonSerializer.Deserialize<Customer>(jsonContent);

关于c# - 使用 restsharp 反序列化 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530060/

相关文章:

java - Content-Length : -1 中的有效 URI 结果

c# - 设置复杂属性的默认值 - 回填数据库

c# - QBO SDK C# - 异步批处理创建多个客户

python - 有没有办法将 json 压缩成 web2py 中的行和列?

java - Jackson Objectmapper 读取具有可变字段/值类型的对象

rest - 交付和使用 Azure REST-API SharedKey 进行 Blob 上传

java - Java REST API 中的自定义身份验证

c# - FakeItEasy - 伪造作业

c# - 依赖注入(inject)以解决与运行时数据的依赖关系

ios - 当应用程序未运行时处理 JSON 推送通知解析