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

複雑な JSON 応答を C# DTO に簡単に変換するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-12 12:41:44
オリジナル
536 人が閲覧しました

How to Easily Convert Complex JSON Responses into C# DTOs?

C# Asp.Net で複雑な JSON 応答を DTO に変換します

元の質問:

RestSharp を使用して複雑な JSON 応答を受信する場合は、手動で解析せずに DTO のリストを抽出します。

解決策:

Visual Studio の「形式を選択して貼り付け」機能を利用して、JSON から C# クラスを自動的に生成します。

  1. JSON 応答をコピーします。
  2. Visual Studio で、[編集] > [形式を選択して貼り付け] > [JSON をクラスとして貼り付け] に移動します。
  3. Visual Studio は、次のような JSON 構造を表す一連のクラスを生成します。
<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート