Hast du den JSON-String selbst erzeugt oder kommt dieser fertig bei dir an?
Denn dieser JSON-String ist ungültig. Die "" um die {} bei der Message-Value sind zu viel.
Das rührt wohl daher, dass deine Variable Message ein Objekt ist und keine Klasse des Typs Message.
Hier einmal ein funktionierender Code:
{
"Message": {
"Hostname": "[EU/GER] Test Server",
"MaxPlayers": 2,
"Players": 0,
"Queued": 0,
"Joining": 0,
"EntityCount": 85486,
"GameTime": "06/14/2024 23:03:17",
"Uptime": 1145,
"Map": "Procedural Map",
"Framerate": 237.0,
"Memory": 1412,
"Collections": 137,
"NetworkIn": 0,
"NetworkOut": 0,
"Restarting": false,
"SaveCreatedTime": "01/06/2022 23:17:08"
},
"Identifier": 1,
"Type": "Generic",
"Stacktrace": ""
} Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
Button1.Click
Dim JSON_Packet As Packet = JsonConvert.DeserializeObject(Of Packet)( _
JSON_String)
MessageBox.Show("Max Players: " & JSON_Packet.Message.MaxPlayers)
End Sub
End Class
Public Class Packet
Public Property Message As Message
Public Property Identifier As Integer
Public Property Type As String
Public Property Stacktrace As String
End Class
Public Class Message
Public Property Hostname As String
Public Property MaxPlayers As Integer
Public Property Players As Integer
Public Property Queued As Integer
Public Property Joining As Integer
Public Property EntityCount As Integer
Public Property GameTime As String
Public Property Uptime As Integer
Public Property Map As String
Public Property Framerate As Single
Public Property Memory As Integer
Public Property Collections As Integer
Public Property NetworkIn As Integer
Public Property NetworkOut As Integer
Public Property Restarting As Boolean
Public Property SaveCreatedTime As String
End Class |