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 サイトの他の関連記事を参照してください。