중첩된 JSON 객체의 역직렬화 처리
코드에서 중첩된 개체가 포함된 JSON 데이터를 역직렬화하는 데 문제가 있습니다. 이 가이드에서는 이 문제를 해결하고 제공된 JSON에서 작업 코드 목록을 가져오는 솔루션을 제공합니다.
일관되지 않은 수업 구성
처음에는 "jobcodes" 키 아래에 여러 작업 코드가 있다는 점을 무시하고 전체 JSON 응답을 단일 JobCode
클래스로 역직렬화하려고 합니다. 이 문제를 해결하려면 JSON 구조와 일치하는 클래스를 만들어야 합니다.
사전을 사용하여 변수 키 처리
JSON의 "jobcodes" 속성에 대한 키는 문자열 값입니다(예제에서는 "1" 및 "2"). 이러한 가변성을 수용하기 위해 단순히 Dictionary<string, JobCode>
대신 List<JobCode>
을 사용합니다. 이 사전을 사용하면 해당 키를 사용하여 작업 코드를 검색할 수 있습니다.
업데이트된 수업 구조
다음은 JSON에 맞게 수정된 클래스 구조입니다.
<code class="language-csharp">public class RootObject { [JsonProperty("results")] public Results Results { get; set; } } public class Results { [JsonProperty("jobcodes")] public Dictionary<string, JobCode> JobCodes { get; set; } } public 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을 역직렬화할 수 있습니다.
<code class="language-csharp">RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);</code>
이렇게 하면 obj
변수가 역직렬화된 JSON 데이터로 채워져 obj.Results.JobCodes
을 통해 작업 코드 목록에 액세스할 수 있습니다.
위 내용은 작업 코드 목록을 추출하기 위해 중첩된 JSON 개체를 역직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!