JSON 배열을 예상 개체로 역직렬화하지 못했습니다. "배열을 개체로 역직렬화할 수 없습니다."
JSON 배열을 특정 클래스의 개체로 역직렬화하려고 하면 다음 오류가 발생할 수 있습니다. "'MyClass' 유형에 JSON 배열(예: [1,2,3])을 역직렬화할 수 없습니다. 해당 유형에는 JSON 개체가 필요하기 때문입니다. (예: {"name":"value"})을 올바르게 역직렬화할 수 있습니다."
이 오류는 JSON 데이터가 배열 형식이지만 대상 클래스는 단일 개체 형식을 예상함을 나타냅니다. 이 문제를 해결하려면 다음을 고려하십시오.
1. JSON 배열을 컬렉션으로 역직렬화합니다.
JSON 배열을 객체 컬렉션으로 역직렬화하려는 경우 다음과 같이 코드를 수정할 수 있습니다.
<code class="language-csharp">var objResponse1 = JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(JsonStr);</code>
이 경우 JSON 배열은 RetrieveMultipleResponse 개체 목록으로 역직렬화됩니다.
2. JSON의 형식이 개체로 올바른지 확인하세요.
또는 JSON 데이터를 단일 객체로 역직렬화해야 하는 경우 JSON 형식이 올바른지 확인할 수 있습니다. JSON 문자열은 중괄호({})로 묶어야 하며 키-값 쌍을 포함해야 합니다. 다음 JSON 예제는 유효한 객체를 나타냅니다.
<code class="language-json">{ "Attributes": [ ... ], "Name": "account", "Id": "1" }</code>
JSON을 개체로 형식화한 후 다음 코드를 사용하여 역직렬화할 수 있습니다.
<code class="language-csharp">var objResponse1 = JsonConvert.DeserializeObject<RetrieveMultipleResponse>(JsonStr);</code>
기타 옵션:
[JsonArray]
속성을 추가하여 JSON 배열에서 역직렬화를 강제할 수도 있습니다. 위 내용은 배열이 객체로 예상되는 경우 JSON 역직렬화가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!