"JSON 개체를 역직렬화할 수 없습니다" 오류 문제 해결
이 일반적인 JSON 역직렬화 오류인 "현재 JSON 개체를 역직렬화할 수 없습니다."는 JSON 데이터 구조와 역직렬화 코드에서 예상되는 데이터 유형 간의 불일치로 인해 발생합니다. 오류 메시지는 불일치를 암시합니다. JSON은 객체일 가능성이 높지만 코드는 이를 배열로 역직렬화하려고 시도하거나 그 반대의 경우도 마찬가지입니다.
역직렬화 수정
JSON 개체를 목록으로 역직렬화하려고 할 때 문제가 발생합니다. 제공된 JSON은 분명히 배열이 아닌 객체입니다. 해결책은 JSON 구조와 일치하도록 역직렬화를 조정하는 것입니다. List<RootObject>
으로 역직렬화하는 대신 RootObject
인스턴스
잘못된 코드(목록으로 역직렬화 시도):
<code class="language-csharp">List<RootObject> datalist = JsonConvert.DeserializeObject<List<RootObject>>(jsonString);</code>
수정된 코드(단일 RootObject로 역직렬화):
<code class="language-csharp">RootObject data = JsonConvert.DeserializeObject<RootObject>(jsonString);</code>
이 수정된 코드는 JSON의 개체 구조를 정확하게 반영하여 역직렬화 오류를 제거합니다. RootObject
클래스가 JSON 개체 내의 속성에 올바르게 매핑되는지 확인하세요. JSON에 Datum
개체 배열을 보유하는 속성이 포함된 경우 RootObject
클래스에는 이를 수용할 수 있는 해당 속성(예: List<Datum> data
)이 있어야 합니다.
위 내용은 JSON 역직렬화 중에 '현재 JSON 개체를 역직렬화할 수 없습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!