将Json对象反序列化到列表中?

将Json对象反序列化到列表中?,json,vb.net,json.net,deserialization,Json,Vb.net,Json.net,Deserialization,我正在尝试反序列化一个json文件,但不管我怎么做,我都无法让它工作,所以我需要一些帮助 下面是json文件: { "38308613": [ { "name": "Cassiopeia's Mercenaries", "tier": "GOLD", "queue": "RANKED_SOLO_5x5", "entries": [ { "playerOrTeamId": "38308613",

我正在尝试反序列化一个json文件,但不管我怎么做,我都无法让它工作,所以我需要一些帮助

下面是json文件:

{
  "38308613": [
    {
      "name": "Cassiopeia's Mercenaries",
      "tier": "GOLD",
      "queue": "RANKED_SOLO_5x5",
      "entries": [
        {
          "playerOrTeamId": "38308613",
          "playerOrTeamName": "TrashTheBrain",
          "division": "III",
          "leaguePoints": 75,
          "wins": 328,
          "losses": 321,
          "isHotStreak": false,
          "isVeteran": true,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    },
    {
      "name": "Cho'Gath's Shadowdancers",
      "tier": "GOLD",
      "queue": "RANKED_TEAM_3x3",
      "entries": [
        {
          "playerOrTeamId": "TEAM-8bf3a360-77ba-11e4-9fc4-c81f66db96d8",
          "playerOrTeamName": "Ebal 9 vas",
          "division": "IV",
          "leaguePoints": 0,
          "wins": 22,
          "losses": 24,
          "isHotStreak": false,
          "isVeteran": false,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    },
    {
      "name": "Elise's Deceivers",
      "tier": "BRONZE",
      "queue": "RANKED_TEAM_5x5",
      "entries": [
        {
          "playerOrTeamId": "TEAM-8bf3a360-77ba-11e4-9fc4-c81f66db96d8",
          "playerOrTeamName": "Ebal 9 vas",
          "division": "III",
          "leaguePoints": 66,
          "wins": 5,
          "losses": 6,
          "isHotStreak": false,
          "isVeteran": false,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    },
    {
      "name": "Vayne's Snipers",
      "tier": "SILVER",
      "queue": "RANKED_TEAM_3x3",
      "entries": [
        {
          "playerOrTeamId": "TEAM-7da3b7b0-7bfa-11e5-a148-c81f66dd30e5",
          "playerOrTeamName": "MathMechPower",
          "division": "V",
          "leaguePoints": 75,
          "wins": 7,
          "losses": 6,
          "isHotStreak": false,
          "isVeteran": false,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    }
  ],
  "65100402": [
    {
      "name": "Jarvan IV's Spellslingers",
      "tier": "GOLD",
      "queue": "RANKED_SOLO_5x5",
      "entries": [
        {
          "playerOrTeamId": "65100402",
          "playerOrTeamName": "Charlynnnn",
          "division": "I",
          "leaguePoints": 8,
          "wins": 447,
          "losses": 438,
          "isHotStreak": false,
          "isVeteran": true,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    },
    {
      "name": "Darius's Warlocks",
      "tier": "SILVER",
      "queue": "RANKED_TEAM_3x3",
      "entries": [
        {
          "playerOrTeamId": "TEAM-f86481d0-6cf2-11e5-a39d-c81f66dd30e5",
          "playerOrTeamName": "YingYangWolves",
          "division": "II",
          "leaguePoints": 0,
          "wins": 4,
          "losses": 2,
          "isHotStreak": false,
          "isVeteran": false,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    },
    {
      "name": "Morgana's Elementalists",
      "tier": "SILVER",
      "queue": "RANKED_TEAM_5x5",
      "entries": [
        {
          "playerOrTeamId": "TEAM-f86481d0-6cf2-11e5-a39d-c81f66dd30e5",
          "playerOrTeamName": "YingYangWolves",
          "division": "III",
          "leaguePoints": 0,
          "wins": 3,
          "losses": 3,
          "isHotStreak": false,
          "isVeteran": false,
          "isFreshBlood": false,
          "isInactive": false
        }
      ]
    }
  ]
}
65100402/38308613属性对于基于webrequest上传递的ID的每个api调用都是唯一的(最多10个属性)。所以我的想法是创建一个通用类,并将json回复反序列化到一个列表中

 Public Class Entry
    Public Property playerOrTeamId As String
    Public Property playerOrTeamName As String
    Public Property division As String
    Public Property leaguePoints As Integer
    Public Property wins As Integer
    Public Property losses As Integer
    Public Property isHotStreak As Boolean
    Public Property isVeteran As Boolean
    Public Property isFreshBlood As Boolean
    Public Property isInactive As Boolean
End Class

Public Class PlayerID
    Public Property name As String
    Public Property tier As String
    Public Property queue As String
    Public Property entries As Entry()
End Class

Public Class Example
    Public Property PlayerID As PlayerID()
End Class
我想在这之前我都没事,对吧

 Dim a As List(Of PlayerID) = JsonConvert.DeserializeObject(Of List(Of PlayerID))(json)
    MsgBox(a(1).name)
任何人都可以指出一种方法来反序列化它,并循环遍历属性?
提前谢谢

JSON不是一个列表;它由
{}
括起,而列表则由
[]
括起。因此,您应该将其反序列化为对象类型。

JSON不是列表;它由
{}
括起,而列表则由
[]
括起。因此,您应该将其反序列化为对象类型。

请格式化JSON,使其可读。相反,您应该将其反序列化为
示例
类型。反序列化为示例有效,但读取它是另一个问题。使用for each PlayerId返回null。请格式化JSON,使其可读。您应该改为反序列化为
示例
类型。反序列化为示例有效,但读取它是另一个问题。使用for each PlayerId返回null。