Перейти к содержанию

Навигация

Rule Examples: различия между версиями

Нет описания правки
Строка 1549: Строка 1549:
   });
   });
})()
})()
</syntaxhighlight>
==Работа с JSON==
Движок wb-rules поддерживает стандартные функции языка JavaScript для работы с JSON:
*<code>JSON.stringify()</code> — преобразует объект в JSON-строку;
*<code>JSON.parse()</code> — преобразует JSON-строку в объект.
Более подробную информацию о функциях можно найти в учебнике [https://learn.javascript.ru/json JavaScript].
Эти функции требуются, когда вы получаете данные из другого сервиса в JSON-формате.
В приведенном примере создается виртуальное устройство с одной кнопкой и числовым параметром, который который хранится в виде JSON-строки. При нажатии на кнопку к значению параметра прибавляется 1.
<syntaxhighlight lang="bash">
defineVirtualDevice("JSON_test", {
    title: "JSON_device",
    cells: {
Button: {
    type: "pushbutton",
    value: false
},
    Json: {
        type : "text",
        value : JSON.stringify({param: 0}),
    },     
    }
});
defineRule("change_value", {
  whenChanged: "JSON_test/Button",
  then: function () {
    parameter = JSON.parse(dev["JSON_test/Json"]);
    parameter.param++;
    dev["JSON_test/Json"] = JSON.stringify(parameter)
    }
});
</syntaxhighlight>
</syntaxhighlight>
== Полезные ссылки == <!--T:190-->
== Полезные ссылки == <!--T:190-->
translator, wb_editors
4218

правок