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