Итак, я пытаюсь десериализовать JSON, возвращенный из вызова OAuth-токена Graph API.
JSON выглядит так:
"[{\" access_token \ ": \" bunchofjsondatablahblah "\ "истекает \": 9999}]"
Я пытаюсь десериализовать его (используя класс DataContractJsonSerializer
) в этот объект:
[DataContract]
internal class FacebookOAuthToken
{
[DataMember]
internal string access_token;
[DataMember]
internal string expires;
}
Вот как я (пытаюсь) это сделать:
FacebookOAuthToken token;
using (Stream responseStream = (response.GetReponseStream()))
{
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(FacebookOAuthToken));
token = (FacebookOAuthToken)json.ReadObject(responseStream);
}
Этот метод основан на этой статье из MSDN.
Однако свойства token
всегда равны нулю.
Принимая во внимание, что если я делаю responseStream.ReadToEnd()
, все в порядке (возвращает вышеуказанный JSON) - это означает, что это не проблема с фактическим запросом / ответом HTTP, я просто не десериализую его должным образом.
Что я делаю не так?