2009-09-08 3 views
1

를 사용하여 일반적인 사전 직렬화 복원 :나는이처럼 보이는 클래스가 json.net

class MyClass { 
    public int Id; 
    public Dictionary<int, MyClass[]> ChildValues; 
} 

내가 사용 Json.NET이 클래스를 역 직렬화 할 때

MyClass x = return JsonConvert.DeserializeObject<MyClass>(s); 

나는 예상 오류 를받을 'System.Collections.Generic.Dictionary`2 [System.Int32, MyClass []]'유형의 JsonObjectContract 또는 JsonDictionaryContract에 'Newtonsoft.Json.Serialization.JsonDictionaryContract'가 있습니다.

이 오류 메시지의 의미는 무엇이며 어떻게 해결할 수 있습니까?

답변

2

먼저 JSON 변수를 살펴보십시오.

1

찾았습니다. 문제는 클라이언트의 Json이 배열이 아니라 사전 (스크립트 파일이 IE에서 캐시 되었기 때문에)이었습니다.