인터페이스 인스턴스 컬렉션 역직렬화
예제의 ClassToSerializeViaJson과 같이 데이터를 인터페이스 인스턴스로 저장하는 것이 일반적입니다. 그러나 이러한 컬렉션을 역직렬화하면 질문에 언급된 것과 같은 오류가 발생할 수 있습니다.
해결책:
이 문제를 해결하려면 Json.Net에 역직렬화를 활성화하는 추가 구성이 필요합니다. 인터페이스의 인스턴스.
직렬화:
string serializedJson = JsonConvert.SerializeObject(objectToSerialize, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple });
역직렬화:
var deserializedObject = JsonConvert.DeserializeObject<ClassToSerializeViaJson>(serializedJson, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects });
이러한 설정을 구현하면 Json.Net은 인터페이스 인스턴스 컬렉션을 적절하게 역직렬화하여 원래 데이터 구조를 복구할 수 있습니다.
위 내용은 Json.Net을 사용하여 인터페이스 인스턴스 컬렉션을 역직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!