Le JSON dans Ninox

Pour créer une variable JSON (que le compilateur appelle any, parfois complex), déclarez-la ainsi :

var myJSON := { 'prénom' : "Jacques", nom : "TUR" };

Accéder aux données JSON

Vous pouvez utiliser les valeurs JSON comme des enregistrements, en écrivant var.key :

myJSON.'prénom';

Remarques importantes :

  • Le compilateur ne vérifie pas l'existence de la clé.
  • Le compilateur distingue les majuscules des minuscules : il est essentiel d'orthographier les noms de clés exactement.

Contenu d'un JSON

Un objet JSON peut contenir du texte, des nombres, des tableaux et d'autres objets JSON.
Par exemple :

var myJSON := {
  'prénom' : "Mahatma",
  nom : "GANDHI",
  naissance : date(1869, 10, 2),
  age : 155,
  enfants : ["Harilal", "Manilal", "Ramdas"]
};

Convertir les valeurs JSON

Ninox traite toutes les valeurs JSON comme des any. Pour les utiliser, vous devez les convertir :

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';

Ajouter ou supprimer des clés

Pour ajouter ou supprimer des clés dans un objet JSON après sa déclaration, utilisez setItem() et removeItem() :

setItem(myJSON.'coordonnées', "adresse", "5, Tees January Marg, New Delhi, Inde");
removeItem(myJSON, "age");

Fonctions renvoyant du JSON

Certaines fonctions Ninox renvoient du JSON, comme styled :

styled("texte", "red", "check")

Renvoie :

{"text":"texte","color":"#fff","background":"red","icon":"check"}

Itérer sur un JSON

Vous pouvez parcourir un objet JSON avec une boucle for. Voyez la section Boucles for et while pour plus de détails.