ДОВІДНИК З 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. Підтримувані оператори:
=
дорівнює!=
не дорівнює<
менше ніж<=
менше ніж чи дорівнює>
більше ніж>=
більше або дорівнює ніжin
значення міститься в масивіУ таблиці 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 |
Використовується для об’єднання булевих результатів для підтримки більш складних предикатних виразів. Підтримувані оператори:
and
or
Зверніть увагу, що 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 |