Praca z danymi JSON
Aby utworzyć zmienną JSON (kompilator nazywa ją any, czasem complex), należy zadeklarować ją tak:
Ninox
var myJSON := { 'prénom' : "Jacques", nom : "TUR" };Dostęp do danych JSON
Wartości JSON można używać tak samo jak rekordów, odwołując się przez var.key:
Ninox
myJSON.'prénom';Ważne uwagi
- Kompilator nie sprawdza, czy klucz istnieje.
- Kompilator rozróżnia wielkość liter, więc nazwy kluczy trzeba zapisywać dokładnie.
Zawartość JSON
Obiekt JSON może zawierać tekst, liczby, tablice i inne obiekty JSON.
Na przykład:
Ninox
var myJSON := {
'prénom' : "Mahatma",
nom : "GANDHI",
naissance : date(1869, 10, 2),
age : 155,
enfants : ["Harilal", "Manilal", "Ramdas"],
'coordonnées' : { ville : "New Delhi" }
};Konwersja wartości JSON
Ninox traktuje wszystkie wartości JSON jako any. Aby ich użyć, trzeba je przekształcić:
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';Dodawanie i usuwanie kluczy
Aby dodać lub usunąć klucze w obiekcie JSON po jego zadeklarowaniu, należy użyć setItem() i removeItem():
Ninox
setItem(myJSON.'coordonnées', "adresse", "5, Tees January Marg, New Delhi, Inde");
removeItem(myJSON, "age");Funkcje zwracające JSON
Niektóre funkcje Ninox zwracają JSON, na przykład styled:
Ninox
styled("texte", "red", "check")Zwraca:
Ninox
{"text":"texte","color":"#fff","background":"red","icon":"check"}Iterowanie po JSON
Po obiekcie JSON można iterować za pomocą pętli for. Więcej szczegółów w rozdziale Powtarzanie czynności: for i while.
