ホームページ >バックエンド開発 >C++ >Visual Studio で複雑な JSON 応答から C# DTO を簡単に生成するにはどうすればよいですか?

Visual Studio で複雑な JSON 応答から C# DTO を簡単に生成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-12 12:31:43524ブラウズ

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 クラスを生成します

ステップ 1: JSON 応答をコピーし、Visual Studio を開きます。

ステップ 2: メニュー バーで、[編集] > [形式を選択して貼り付け] > [JSON をクラスとして貼り付け] を選択します。

ステップ 3: 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。