JSON 역직렬화 유형 불일치 오류
프로그래밍에서 "현재 JSON 개체(예: {"name":"value"}
)를 역직렬화할 수 없습니다..." 오류가 발생하는 것은 일반적인 문제입니다. 이 오류는 JSON 데이터의 구조가 코드에 정의된 예상 유형과 일치하지 않을 때 발생합니다.
다음 코드 조각에서:
<code class="language-csharp"> //jsonstring {"data":[{"target_id":9503123,"target_type":"user"}]} List<RootObject> datalist = JsonConvert.DeserializeObject<List<RootObject>>(jsonstring);</code>
문제는 역직렬화된 유형에 있습니다. 이 줄은 객체 배열을 예상하여 JSON 문자열 jsonstring
을 List<RootObject>
으로 역직렬화하려고 시도합니다. 그러나 JSON 데이터 구조는 객체 배열을 포함하는 data
이라는 속성 하나만 가진 객체입니다.
이 문제를 해결하려면 역직렬화된 유형이 JSON 데이터의 구조와 일치해야 합니다. 이 경우 올바른 역직렬화 줄은 다음과 같습니다.
<code class="language-csharp"> RootObject datalist = JsonConvert.DeserializeObject<RootObject>(jsonstring);</code>
datalist
속성(객체 배열 보유)을 포함하는 JSON 객체는 RootObject
을 data
으로 선언하여 올바르게 역직렬화할 수 있습니다. 이제 예상되는 코드 유형이 JSON 데이터의 실제 구조와 일치하므로 유형 불일치 오류가 방지됩니다.
위 내용은 내 JSON 데이터에서 '유형 불일치' 역직렬화 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!