Как использовать условие «.Где» с Json объектом в c#? - PullRequest
0 голосов
/ 22 февраля 2020

Я работаю над проектом Xamarin (с Newtonsoft. Json). Пытаясь десериализовать json и использовать его (все и некоторую часть json).

У меня есть json список классов для него. Я могу перечислить весь список, но я не могу выбрать из списка, таких как; где "возраст> 40".

Мой json;

{"data":
    [
    {
    "contact_id":"1",
    "contact_date":"2020-02-19",
    "contact_stat":"new"
    }
    ,
    {
    "contact_id":"2",
    "contact_date":"2020-02-19",
    "contact_stat":"old"
    }
    ,
    {
    "contact_id":"3",
    "contact_date":"2020-02-19",
    "contact_stat":"new"
    }
    ]
}

Мой класс;

public class AllSource
{
    public string contact_id{ get; set; }
    public DateTime contact_date{ get; set; }
    public string contact_stat{ get; set; }
}
public class AllList
{
    public List<AllSource> data { get; set; }
}

Я попробовал это в моем .cs => Таким образом, я могу используйте их все;

var response = await client.GetAsync("http://example.com/json2.asp");
string itemJson = response.Content.ReadAsStringAsync().Result;
AllList ObjJson = new AllList();
   if (itemJson != "")
       {
          ObjJson = JsonConvert.DeserializeObject<AllList>(itemJson);
          mydata = ObjJson.data;
       }

Я пытаюсь что-то вроде этого (хочу получить только "stat = new");

ObjJson.Where(x => x.stat == "new");

Но я получаю эту ошибку;

В AllList нет определения «Где», и нет доступного метода расширения «Где», где можно найти первый аргумент типа.

Попробовал так много предложений, но не смог не удалось. Надеюсь, я четко объяснил свою проблему.

1 Ответ

0 голосов
/ 22 февраля 2020

попробуйте это:

var filteredData = ObjJson.data.Where(x => x.contact_stat == "new");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...