> 백엔드 개발 > C++ > 동적 키가 포함된 중첩 JSON을 C# 클래스로 역직렬화하는 방법은 무엇입니까?

동적 키가 포함된 중첩 JSON을 C# 클래스로 역직렬화하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2025-01-19 21:51:11
원래의
388명이 탐색했습니다.

How to Deserialize Nested JSON with Dynamic Keys into C# Classes?

중첩된 JSON을 C# 클래스로 역직렬화

JSON 응답을 C# 클래스로 역직렬화합니다. 핵심은 클래스 구조를 전체 JSON 데이터와 일치시키는 것입니다. 주어진 JSON을 역직렬화하는 방법에 대한 솔루션은 다음과 같습니다.

JSON 구조:

<code>{
    "results": {
        "jobcodes": {
            "1": { ... },
            "2": { ... },
            ...
        }
    }
}</code>
로그인 후 복사

질문:

중첩된 "작업 코드" 개체의 동적 키("1" 및 "2")를 고려하지 않았습니다.

해결책:

동적 키로 객체를 처리하려면 Dictionary<string, JobCode>:

를 사용하세요.
<code class="language-csharp">class Results
{
    [JsonProperty("jobcodes")]
    public Dictionary<string, JobCode> JobCodes { get; set; }
}</code>
로그인 후 복사

전체 수업 구조:

<code class="language-csharp">class RootObject
{
    [JsonProperty("results")]
    public Results Results { get; set; }
}

class JobCode
{
    [JsonProperty("_status_code")]
    public string StatusCode { get; set; }
    [JsonProperty("_status_message")]
    public string StatusMessage { get; set; }
    [JsonProperty("id")]
    public string Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
}</code>
로그인 후 복사

역직렬화:

JSON을 RootObject 클래스로 역직렬화:

<code class="language-csharp">RootObject obj = JsonConvert.DeserializeObject<RootObject>(jsonResponse);</code>
로그인 후 복사

결과:

obj.Results.JobCodes.Values에 방문하시면 List<JobCode>를 받으실 수 있습니다. 각 JobCode에는 JSON의 해당 속성 값이 있습니다.

위 내용은 동적 키가 포함된 중첩 JSON을 C# 클래스로 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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