在 C# Asp.Net 中将复杂的 JSON 响应转换为 DTO
原始问题:
使用 RestSharp 接收复杂的 JSON 响应时,无需手动解析即可提取 DTO 列表。
解决方案:
利用 Visual Studio 的“粘贴特殊”功能,自动从 JSON 生成 C# 类:
<code class="language-csharp">public class Rootobject { public Response response { get; set; } } public class Response { public Result result { get; set; } public string uri { get; set; } } public class Result { public Leads Leads { get; set; } } public class Leads { public Row[] row { get; set; } } public class Row { public string no { get; set; } public FL[] FL { get; set; } } public class FL { public string val { get; set; } public string content { get; set; } }</code>
这允许您通过生成的 DTO 属性访问 JSON 响应中的数据,例如:
<code class="language-csharp">// 假设 response 是 RestSharp 响应对象 var json = response.Content; // 将 JSON 反序列化到 Rootobject 类 Rootobject rootObject = JsonConvert.DeserializeObject<Rootobject>(json); // 访问 Leads 属性 var leads = rootObject.response.result.Leads; // 访问各个 Lead 记录 foreach (var leadRow in leads.row) { var leadId = leadRow.FL[0].content; var company = leadRow.FL[1].content; // 从检索到的数据创建 LeadDto 对象 var leadDto = new LeadDto { LeadId = leadId, Company = company }; }</code>
以上是如何轻松地将复杂的 JSON 响应转换为 C# DTO?的详细内容。更多信息请关注PHP中文网其他相关文章!