反序列化Json VB.NET



我正在尝试从游戏启动器的web服务器反序列化数据。
API文档为我提供了json格式的数据,但我一直在努力能够读取我给出的数据并将其存储为变量以用于登录播放器。我也尝试了一些其他的事情,但我现在只是卡住了。

通常来自服务器的响应是这样的:

{"success":"true","gameserver":"gameserver-alpha.toontownrewritten.com","cookie":"deadbeefdeafbeef0x123"}

反序列化数据的代码:

Dim result() As TTRServerResponse = JsonConvert.DeserializeObject(Of TTRServerResponse())(responseFromServer)

类,包含我想要存储的变量

Public Class TTRServerResponse
    Public Property success As String
    Public Property eta As String
    Public Property position As String
    Public Property queueToken As String
    Public Property cookie As String
End Class

你知道我哪里搞砸了或者我应该怎么做吗?谢谢,本。

EDIT:最后弄清楚了,我需要将我的结果更改为:

Dim result As TTRServerResponse = JsonConvert.DeserializeObject(Of TTRServerResponse) (responseFromServer)

我也通过返回result错误地将数据返回给我的另一个子。我需要做的是返回result.success

您试图将JSON反序列化为数组,但在您的示例中它是单个对象。

假设

Dim responseFromServer As String

等于

{"success":"true","gameserver":"gameserver-alpha.toontownrewritten.com","cookie":"deadbeefdeafbeef0x123"}

根据你所链接到的文档,它应该是一个单一对象,

则需要更新代码以反序列化单个对象,而不是数组

Dim result As TTRServerResponse = JsonConvert.DeserializeObject(Of TTRServerResponse)(responseFromServer)

最新更新