2015-02-02 2 views
0

Я вижу ответ JSON, но я не могу десериализовать внешние идентификаторы в API каталога google apps. (C#)Отключить внешние идентификаторы в API приложений Google

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

дает ошибку компилятора:

Ошибка 1 Лучший перегруженный метод подходит для 'Newtonsoft.Json.JsonConvert.DeserializeObject (строка, Params Newtonsoft.Json.JsonConverter [])' имеет некоторые недействительные аргументы

+0

Что такое содержимое users.EternalIds? – peleyal

+0

Это массив JSON из Google.Apis.Admin.Directory.directory_v1.Data.UserExternalId – DaBlue

+0

Мне удалось заставить его работать с помощью динамического, но я бы хотел, чтобы класс был типом. Похоже, что переменные класса могут не иметь того же случая, что и XML ... например. CustomType vs customType – DaBlue

ответ

1

Я считаю, что причиной является ошибка в вашем коде. Когда вы прокомментировали объект ExternalIds, он содержит массив json. Таким образом, ваш код должен быть:

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

Обратите внимание на [] на OBJECTTYPE десериализации.

Смежные вопросы