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