JSON в Ninox
Чтобы создать переменную JSON (компилятор называет её any, иногда complex), объявите её так:
var myJSON := { 'prénom' : "Jacques", nom : "TUR" };
Доступ к данным JSON
Значения JSON используются так же, как поля записи, — через обращение var.key:
myJSON.'prénom';
Важные замечания:
- Компилятор не проверяет существование ключа.
- Компилятор различает регистр, поэтому имена ключей нужно писать точно.
Содержимое JSON
Объект JSON может содержать текст, числа, массивы и другие объекты JSON.
Например:
var myJSON := {
'prénom' : "Mahatma",
nom : "GANDHI",
naissance : date(1869, 10, 2),
age : 155,
enfants : ["Harilal", "Manilal", "Ramdas"]
};
Преобразование значений JSON
Ninox считает все значения JSON типом any. Чтобы ими пользоваться, их нужно преобразовать:
var myText := "";
myText := text(myJSON.'prénom');
var myDate := now();
myDate := date(myJSON.naissance);
var myNumber := 0;
myNumber := number(myJSON.age);
var myArray := [""];
myArray := for i in myJSON.enfants do text(i) end;
var 'myCoordinates' := {};
'myCoordinates' := myJSON.'coordonnées';
Добавление и удаление ключей
Чтобы добавить или удалить ключи объекта JSON после его объявления, используйте setItem() и removeItem():
setItem(myJSON.'coordonnées', "adresse", "5, Tees January Marg, New Delhi, Inde");
removeItem(myJSON, "age");
Функции, возвращающие JSON
Некоторые функции Ninox возвращают JSON — например, styled:
styled("texte", "red", "check")
Возвращает:
{"text":"texte","color":"#fff","background":"red","icon":"check"}
Перебор JSON
Объект JSON можно перебрать циклом for. Подробности см. в разделе Циклы for и while.
