To further expand on Karthik Bangalore's solution, you dont need to use an array when List<t> is available so here's what I would do:
using Newtonsoft.Json;
using System.Collections.Generic;
namespace WorkingWithJson
{
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Working_with_json
{
public static void DeserializeJSON()
{
string json = @"[{""Id"":1,""Name"":""name1""},{""Id"":2,""Name"":""name2""},{""Id"":3,""Name"":""name3""}]";
List<Person> people = JsonConvert.DeserializeObject<List<Person>>(json);
System.Console.WriteLine($"{people[0].Id} - {people[0].Name}");
}
}
}