Я создал 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