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.