【发布时间】:2015-04-20 11:21:41
【问题描述】:
我创建了一个 vb 程序,它发送 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
【问题讨论】:
标签: json facebook api serialization response