首页 >后端开发 >C++ >如何在 Visual Studio 中从复杂的 JSON 响应轻松生成 C# DTO?

如何在 Visual Studio 中从复杂的 JSON 响应轻松生成 C# DTO?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-12 12:31:43576浏览

How Can I Easily Generate C# DTOs from Complex JSON Responses in Visual Studio?

在ASP.NET中,从复杂的JSON响应中生成C# DTO类

处理结构复杂的JSON响应时,手动创建DTO类来提取所需数据可能会很繁琐。但Visual Studio提供了一种便捷的解决方案,让这项任务轻松完成。

利用Visual Studio从JSON生成DTO类

步骤一:复制JSON响应,打开Visual Studio。

步骤二:在菜单栏中,选择编辑 > 特殊粘贴 > 将JSON粘贴为类

步骤三:Visual Studio将根据您的JSON结构自动生成相应的DTO类。

示例:

假设您拥有以下JSON响应:

<code class="language-json">{
  "response": {
    "result": {
      "Leads": {
        "row": [
          {
            "no": "1",
            "FL": [
              {
                "val": "LEADID",
                "content": "101"
              },
              {
                "val": "Company",
                "content": "Test 1"
              }
            ]
          },
          {
            "no": "2",
            "FL": [
              {
                "val": "LEADID",
                "content": "102"
              },
              {
                "val": "Company",
                "content": "Test 2"
              }
            ]
          }
        ]
      }
    },
    "uri": "/crm/private/json/Leads/getRecords"
  }
}</code>

按照上述步骤,Visual Studio将生成以下DTO类:

<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">var leads = response.result.Leads.row;
foreach (var lead in leads)
{
    Console.WriteLine($"Lead ID: {lead.FL.Where(x => x.val == "LEADID").SingleOrDefault().content}");
    Console.WriteLine($"Company: {lead.FL.Where(x => x.val == "Company").SingleOrDefault().content}");
}</code>

以上是如何在 Visual Studio 中从复杂的 JSON 响应轻松生成 C# DTO?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn