Помогите составить jsonpath

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Ребя, помогите составить jsonpath.
Есть json вида:
C#:
{
  "Result": {
    "Id": 10035516,
    "EventType": 0,
    "NodeType": "EV",
    "Competitors": [
      {
        "Id": 44437,
        "Order": 1
      },
      {
        "Id": 157270,
        "Order": 2
      }
    ],
    "IsLiveEvent": true,
    "MarketGroups": [
      {
        "Id": 1,
        "Items": [
          {
            "Id": 827472655,
            "Name": "Winner (incl. OT)",
            "Items": [
              {
                "MobileColumnNum": 1,
                "Id": 1945257569,
              },
              {
                "MobileColumnNum": 1,
                "Id": 8465121381,
              }
              
            ],
            "ColumnCount": 2,
          }
        ]
      }
    ],
    "IsParlay": false,
    "DbId": 10
  }
}
Необходимо получить значение ключа Name = Winner (incl. OT) у которого дочерний элемент Id равен 1945257569
Т.е. jsonpath должен быть составлен с условием
 
Последнее редактирование:

Manfredman

Client
Регистрация
25.10.2017
Сообщения
18
Благодарностей
4
Баллы
3
C#:
string need_id = "1945257569";
string json = project.Variables["json"].Value;

var jsonObject = Global.ZennoLab.Json.JsonConvert.DeserializeObject<dynamic>(json);
var marketGroup = jsonObject["Result"]["MarketGroups"];

foreach (var group in marketGroup){
    foreach (var item in group["Items"]){
        foreach (var childItem in item["Items"]){
            if (childItem["Id"] == need_id){
                string name = (string)item["Name"];
                return name; // Вывод: Winner (incl. OT)
            }
        }
    }
}
 
  • Спасибо
Реакции: Markoonij

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Спасибо, работает!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)