Manipuler des données JSON
Pour créer une variable JSON (que le compilateur appelle any, parfois complex), déclarez-la ainsi :
Ninox
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 :
Ninox
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 :
Ninox
var myJSON := {
'prénom' : "Mahatma",
nom : "GANDHI",
naissance : date(1869, 10, 2),
age : 155,
enfants : ["Harilal", "Manilal", "Ramdas"],
'coordonnées' : { ville : "New Delhi" }
};Convertir les valeurs JSON
Ninox traite toutes les valeurs JSON comme des any. Pour les utiliser, vous devez les convertir :
Ninox
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() :
Ninox
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 :
Ninox
styled("texte", "red", "check")Renvoie :
Ninox
{"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 Répéter une action : for et while pour plus de détails.
