Ninox 中的 JSON

若要建立一個 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

您可以用 for 迴圈走訪 JSON 物件。詳情請見 for 與 while 迴圈 一節。