NodeREDGuidUKR

ДОВІДНИК З NODE-RED українською мовою

<- На головну Розділ

Вирази

Вирази з рядками

У виразах шляху можна використовувати літеральні константи, помістивши символи в лапки: подвійні “ або одинарні ‘ (як і рядки JSON). Рядки можна комбінувати за допомогою оператора конкатенації &, цей оператор поєднує два рядки, які повертаються виразами. Це єдиний оператор, який намагатиметься збирати операнди разом до очікуваного рядкового типу. У таблиці 11.5 показні приклади оператору &. Можна перевірити ці приклади, перейшовши на сайт http://try.jsonata.org/ (виберіть приклад Address). `

Приклад:

{
  "FirstName": "Fred",
  "Surname": "Smith",
  "Age": 28,
  "Address": {
    "Street": "Hursley Park",
    "City": "Winchester",
    "Postcode": "SO21 2JN"
  }
}

Таблиця 11.5.

JSONata Result
FirstName & ' ' & Surname "Fred Smith"
Address.(Street & ', ' & City) "Hursley Park, Winchester"
5&0&true "50true"

Числові вирази

Вирази шляхів, які вказують на числове значення, повернуть це значення як числовий тип. JSONata також може використовувати числові контстанти за тими ж правилами, що і для JSON-чисел. Числові літетерали та вирази можуть бути використані в розрахунках результатів з використанням звичайних математичних операторів. Підтримувані оператори:

У таблиці 11.6 показні приклади арифметичних операторів. Можна перевірити ці приклади, перейшовши на сайт `http://try.jsonata.org/ (скопіюйте приклад в поле Exerciser). Приклад:

{ "Numbers": [1, 2.4, 3.5, 10, 20.9, 30] }

Таблиця 11.6.

JSONata Result Коментар
Numbers[0] + Numbers[1] 3.4 додати 2 числа
Numbers[0] - Numbers[4] -19.9 віднімання
Numbers[0] * Numbers[5] 30 множення
Numbers[0] / Numbers[4] 0.04784688995215 ділення
Numbers[2] % Numbers[5] 3.5 остача від ділення

Вирази порівняння

               В предикатах можна використоувати оператори порівнянн двох значень, кі повертають логічні значення true або false. Підтримувані оператори:

У таблиці 11.7 показні приклади виразів порівнянь. Можна перевірити ці приклади, перейшовши на сайт http://try.jsonata.org/ (скопіюйте приклад в поле Exerciser).

Приклад:

{ "Numbers": [1, 2.4, 3.5, 10, 20.9, 30] }

Таблиця 11.7.

JSONata Result
Numbers[0] = Numbers[5] false
Numbers[0] != Numbers[4] true
Numbers[1] < Numbers[5] true
Numbers[1] <= Numbers[5] true
Numbers[2] > Numbers[4] false
Numbers[2] >= Numbers[4] false

Булеві вирази

Використовується для об’єднання булевих результатів для підтримки більш складних предикатних виразів. Підтримувані оператори:

Зверніть увагу, що not підтримується як функція ($not), а не оператор. У таблиці 11.8 показні приклади булевих виразів. Можна перевірити ці приклади, перейшовши на сайт `http://try.jsonata.org/ (скопіюйте приклад в поле Exerciser).

Таблиця 11.8.

{"Numbers": [1, 2.4, 3.5, 10, 20.9, 30]}
JSONata Result
(Numbers[2] != 0) and (Numbers[5] != Numbers[1]) false
(Numbers[2] != 0) or (Numbers[5] = Numbers[1]) true