Delphi JSON,语法
我们知道JSON(JavaScript Object Notation)是一种能够跨平台交换数据的文本格式。
到 2019 年,它变成了一种完全独立的格式,并且非常成功,甚至谷歌也在其 Api 中使用它。
在上一篇文章中,我们已经解释了如何解析 JSON 数据,在这篇文章中我们将看到它的语法。
JSON 语法
在 JSON 中,我们有六种类型的数据可用,尽管它们看起来很少,但我们绝对涵盖了所有内容。
JSON 中可用的数据类型有Number、Strings、Booleans、Array、Objects和null value 。
JSON:数字
在 Delphi 中,这种数据类型允许整数和小数,正数和负数。
必须通过TJSONNumber对象输入数字。
// JSON en Delphi: Números
Uses
System.JSON;
procedure JSONPair;
var
vJSON: TJSONObject;
begin
vJSON := TJSONObject.Create;
vJSON.AddPair('numeros', TJSONNumber.Create(123));
vJSON.AddPair('numeros', TJSONNumber.Create(-123));
vJSON.AddPair('numeros', TJSONNumber.Create(123.45));
vJSON.AddPair('numeros', TJSONNumber.Create(-123.45));
end;
// Formato resultante:
// {"numeros":123,"numeros":-123,"numeros":123.45,"numeros":-123.45}
JSON:字符串
使用这种类型的数据,我们可以输入任何类型的字符,从空字符串或更多,以 JSON 格式,它们用双引号表示。
// JSON en Delphi: Cadenas
Uses
System.JSON;
procedure JSONPair;
var
vJSON: TJSONObject;
begin
vJSON := TJSONObject.Create;
vJSON.AddPair('cadenavacia', '');
vJSON.AddPair('cadenas', 'esta es una cadena');
end;
// Formato resultante:
// {"cadenavacia":"","cadenas":"esta es una cadena"}
JSON:布尔值
这个数据类型代表布尔值,可以有两个值True和False。
布尔值必须通过TJSONTrue和TJSONFalse对象输入。
// JSON en Delphi: Booleanos
Uses
System.JSON;
procedure JSONPair;
var
vJSON: TJSONObject;
begin
vJSON := TJSONObject.Create;
vJSON.AddPair('verdadero', TJSONTrue.Create);
vJSON.AddPair('falso', TJSONFalse.Create);
end;
// Formato resultante:
// {"verdadero":true,"falso":false}
JSON:数组
JSON 中的数组表示 JSON 接受的任何数据类型的零个或多个值的有序列表。
不同的值用逗号(,)隔开,向量用方括号[]表示,通过TJSONArray对象输入。
// JSON en Delphi: Array
Uses
System.JSON;
procedure JSONPair;
var
vJSON: TJSONObject;
vJSON2: TJSONObject;
vJSONArray: TJSONArray;
begin
vJSON := TJSONObject.Create;
vJSON2 := TJSONObject.Create;
vJSON.AddPair('Valor1', TJSONNumber.Create(1));
vJSON.AddPair('Valor2', TJSONNumber.Create(2));
vJSON.AddPair('Valor3', TJSONNumber.Create(3));
vJSONArray := TJSONArray.Create;
vJSONArray.AddElement(vJSON);
vJSON2.AddPair('Array', vJSONArray);
end;
// Formato resultante:
// {"Array":[{"Valor1":1,"Valor2":2,"Valor3":3}]}
JSON:空
顾名思义,它代表一个空值。
Null 值是通过TJSONNull对象输入的。
// JSON en Delphi: Null
Uses
System.JSON;
procedure JSONPair;
var
vJSON: TJSONObject;
begin
vJSON := TJSONObject.Create;
vJSON.AddPair('valornulo', TJSONNull.Create);
end;
// Formato resultante:
// {"valornulo":null}
JSON:对象
表示 JSON 支持的任何数据类型对的无序集合,名称表示对象的名称。
// JSON en Delphi: Objetos
Uses
System.JSON;
procedure JSONPair;
var
vJSON: TJSONObject;
vJSONObj: TJSONObject;
begin
vJSON := TJSONObject.Create;
vJSONObj := TJSONObject.Create;
vJSON.AddPair('numeros', TJSONNumber.Create(123));
vJSON.AddPair('cadenas', 'esta es una cadena');
vJSON.AddPair('verdadero', TJSONTrue.Create);
vJSON.AddPair('valornulo', TJSONNull.Create);
vJSONObj.AddPair('objeto', vJSON);
end;
// Formato resultante:
// {"objeto":{"numeros":123,"cadenas":"esta es una cadena","verdadero":true,"valornulo":null}}
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 3.4437370300293 seconds