> 백엔드 개발 > C++ > 복잡한 JSON 응답을 C# DTO로 쉽게 변환하는 방법은 무엇입니까?

복잡한 JSON 응답을 C# DTO로 쉽게 변환하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-12 12:41:44
원래의
537명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿