title: Deserialize a JSON string in .NET
body: <p>I know there's a lot of questions about it here on <strong>stackoverflow</strong> but, I'm not being able to get the it working.</p>
  
  <p>I have a JSON string (<a href="https://pastebin.com/PsTPwzAi" rel="nofollow noreferrer">Pastebin Link</a>).</p>
  
  <p>I was trying to create a (simple and not completed) model to represent the JSON data just to debug it:</p>
  
  <pre><code> Public Class games
      Public Property gameList() As String()
      Public Property gameId() As String
  End Class
  </code></pre>
  
  <p>I really don't have an idea in how to do the complete model, seems very complicated to me.</p>
  
  <p>Main code:<br></p>
  
  <pre><code>1| Dim jss As New JavaScriptSerializer()
  2| Dim model As games = jss.Deserialize(Of games)(gameData)
  3| MsgBox(model.gameId(0).ToString) 
  </code></pre>
  
  <p><code>gameData</code> is the JSON string.</p>
  
  <p>I get an exception on the second line (<code>2|</code>..):<br>
  <code>Type 'System.String' is not supported for deserialization of an array.</code></p>
  
  <p><strong>Edit:</strong></p>
  
  <p>I tried another way</p>
  
  <pre><code> Public Class games
      Public Property gameId As Long
      Public Property mapId As Integer
      Public Property gameMode As String
      Public Property gameType As String
      Public Property gameQueueConfigId As Integer
      Public Property participants As String()
      Public Property observers() As String()
      Public Property platformId As String
      Public Property bannedChampions() As String()
      Public Property gameStartTime As Long
      Public Property gameLength As Long
  End Class
  
  Public Class wrapper
      Public gameList() As games
  End Class
  
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      Dim webClient As New System.Net.WebClient
      Dim gameData As String = webClient.DownloadString(
          "https://euw1.api.riotgames.com/lol/spectator/v3/featured-games?api_key=&lt;key&gt;")
  
      Dim json As String = gameData
  
      Dim gwrapper = JsonConvert.DeserializeObject(Of wrapper)(json)
      Dim game = gwrapper.gameList
  
      If game.Length = 1 Then
          MsgBox(game(0).gameMode)
      End If
  End Sub
  </code></pre>
  
  <p><strong>I get an exception:</strong><br>
  <code>Unexpected character encountered while parsing value: {. Path 'gameList[0].participants', line 1, position 133.</code></p>