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 循环**一节。