Езда на велосипеде по объектам Json

Довольно новый для работы с Json и проблем

[{"page":1,"example":  

  [{"number":6666666,"Year":2005}]},    

  {"page":2,"example":      

  [{"number":555555,"Year":2000}]}]

Это мой Json, это просто пример, а не на самом деле Json, который я использую, но установить таким же образом

Я использовал следующий c#, чтобы получить значения в пределах страницы 1 Json, но мне нужна помощь в получении значений из страницы 2 и так далее

   var http = new HttpClient();
   var response = await http.GetAsync("Example.json");
   var result = await response.Content.ReadAsStringAsync();
   List<Rootobject> RootList = JsonConvert.DeserializeObject<List<Rootobject>>(result);
   foreach (Rootobject item in RootList)
   {
    listBox1.Items.Add(item.Example[0].number.ToString());
   }

Наконец, мои классы

  public class Thread
    {
        [JsonProperty("number")]
        public int number { get; set; }
        [JsonProperty("year")]
        public int year { get; set; }
    }

    public class Rootobject
    {
        [JsonProperty("page")]
        public int page { get; set; }
        [JsonProperty("example")]
        public List<Example> example{ get; set; }
    }

1 ответ

  1. Можно использовать выражение LINQ

    var data = var i in RootList
               where i.page == 2; // here you can replace the number as per your requirement
    

    Способ возврата требуемых данных

    Public Rootobject GetDataByPage(int pageNo) {
          return RootList.FirstOrDefault(x => x.page == pageNo);
    }