2015-02-02 5 views
0

JSON 응답을 볼 수는 있지만 Google 애플 리케이션 디렉토리 API에서 ExternalID를 비 직렬화 할 수는 없습니다. (C#을)이Google 애플 리케이션 디렉토리 API에서 ExternalID를 비 직렬화

var users = service.Users.Get(EMail).Execute(); 
var externalIDs = JsonConvert.DeserializeObject<UserExternalId>(users.ExternalIds); 

컴파일러 오류 제공합니다 :

오류 1에 가장 적합한 오버로드 된 메서드에 일치하는 몇 가지가 있습니다 'Newtonsoft.Json.JsonConvert.DeserializeObject (문자열을 Newtonsoft.Json.JsonConverter []가 PARAMS)' 잘못된 인수

+0

사용자의 콘텐츠는 무엇입니까? EternalIds? – peleyal

+0

그것은 Google.Apis.Admin.Directory.directory_v1.Data.UserExternalId의 JSON 배열입니다. – DaBlue

+0

동적으로 작동하도록 만들 수 있었지만 클래스를 강력하게 입력하고 싶습니다. 클래스 변수가 XML과 같은 대소 문자를 가질 수없는 것처럼 보입니다. CustomType 대 customType – DaBlue

답변

1

나는 그 원인이 귀하의 코드에있는 오류라고 생각합니다. 당신이 주석을 달았을 때 ExternalIds 객체는 json 배열을 포함합니다. 따라서 코드는 다음과 같아야합니다

UserExternalId[] exId = Newtonsoft.Json.JsonConvert.DeserializeObject<UserExternalId[]>(x.ExternalIds.ToString()); 

주목하라 개체 유형에 []는 역 직렬화 할 수 있습니다.