2015-02-19 3 views
1

Я создал VB-программку, которая отправляет запрос на Facebook-API и преобразовывает его в объект, я создал с помощью этого:Deserialize Facebook API Ответ

Dim PostList As JsonPostList = Deserializer.Deserialize(Of JsonPostList)(LoadJsonFromUrl("https://graph.facebook.com/" & Params("Userid") & "/feed?fields=id,message,type,actions,picture,link,created_time&limit=30&access_token=" + ACCESSTOKEN)) 

Это работало замечательно, пока вчера. Сегодня утром приведенный выше код возвращает «Тип« System.String »не поддерживается для десериализации массива».

Что-то изменилось в ответ на Facebook?

LoadJsonFromUrl не более чем преобразования ответа в строку:

Private Function LoadJsonFromUrl(Url As String) As String 

    Dim Text As String = "" 

    ' --- Request --- ' 
    Dim Uri As Uri = New Uri(Url) 
    Dim Request As HttpWebRequest = CType(WebRequest.Create(Uri), HttpWebRequest) 
    Request.Method = WebRequestMethods.Http.Get 
    Request.Timeout = 30000 

    ' --- Response --- ' 
    Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse) 
    Dim Encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding(Response.CharacterSet) 

    ' --- Stream --- ' 
    Using Stream As IO.Stream = Response.GetResponseStream() 

     Using Reader As StreamReader = New StreamReader(Stream, Encoding) 
      Text = String.Copy(Reader.ReadToEnd()) 
     End Using 

    End Using 

    Response.Close() 

    Logger.Write(Text, Logger.MessageType.Info) 
    ' Return 
    Return Text 

End Function 

Мои Классы:

Public Class JsonPostList 

    Public data As List(Of JsonPostData) 
    Public pageing As JsonPaging 

End Class 

Public Class JsonPostData 

    Public id As String 
    Public message As String 
    Public type As String 
    Public actions As String 
    Public picture As String 
    Public link As String 
    Public created_time As String 

End Class 

Public Class JsonPaging 

    Public [next] As String 
    Public [previous] As String 

End Class 

ответ

0

Ok, по-видимому, на facebook API "действия" в массив. Я исключил действия, и теперь он отлично работает.

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