Правила Интернета вещей. Выберите свойство с именем «0».

Очень сложно выбрать значения в правилах IoT.

Мой ввод выглядит следующим образом, и я не могу контролировать поступающие данные:

      "data": {
        "antennas": {
            "1": "disconnected",
            "2": "connected",
            "3": "disconnected",
            "4": "connected"
        }
}

Чего я хотел бы добиться, так это того, что оператор select преобразует приведенное выше в:

      {
  antenna_1: "disconnected",
  antenna_2: "connected",
  antenna_3: "disconnected",
  antenna_4: "connected"
}

Я пробовал:

      SELECT data.antennas.1 as antenna_1 FROM ...

SELECT [data.antennas.1] as antenna_1 FROM ...

SELECT data.antennas[1] as antenna_1 FROM ...

SELECT data.antennas.[1] as antenna_1 FROM ...

SELECT data.antennas['1'] as antenna_1 FROM ...

SELECT `data.antennas.1` as antenna_1 FROM ...

Но ничего не получается... :'-(

1 ответ

Вот рабочий оператор IoT SQL с использованием функции get (протестировано с использованием версии SQL).2026-03-23):

      SELECT 
get(get(get(*,"data"),"antennas"),"1") as antenna_1,
get(get(get(*,"data"),"antennas"),"2") as antenna_2,
get(get(get(*,"data"),"antennas"),"3") as antenna_3,
get(get(get(*,"data"),"antennas"),"4") as antenna_4

FROM 'your/topic'
Другие вопросы по тегам