[英]Deserializing a JSON object with JavaScriptSerializer
我正在为我的应用程序编写引导程序。 它会下载该应用程序的最新版本并进行安装。 我对应用程序的JSON解析部分有疑问。 我正在尝试从此JSON获取信息:
{
"Launcher": {
"latestver": "<the latest version of the launcher>",
"url": "<url to the launcher pack>",
}
}
为了解析它,我创建了一个结构:
Public Structure Launcher
Public latestver As String
Public url As String
End Structure
然后,我尝试从互联网上的JSON获取值:
Dim client As New WebClient() With {.Proxy = Nothing}
Dim Json As String = Await client.DownloadStringTaskAsync("<url to the launcher.json>")
Dim jss As New JavaScriptSerializer()
Dim thisLauncher As Launcher = jss.Deserialize(Of Launcher)(Json)
RemoteLauncherVer = thisLauncher.latestver
LauncherPackUrl = thisLauncher.url
但是,当我使用MsgBox检查值时,这些值是Nothing
:
MsgBox(RemoteLauncherVer)
MsgBox(LauncherPackUrl)
有人可以帮我找出原因吗?
您在根级别上缺少一个类。 尝试使您的班级像这样:
Public Class RootObject
Public Property Launcher As Launcher
End Class
Public Class Launcher
Public Property latestver As String
Public Property url As String
End Class
然后像这样反序列化:
Dim jss As New JavaScriptSerializer()
Dim thisLauncher As Launcher = jss.Deserialize(Of RootObject)(json).Launcher
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.