unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses SuperObject;
//Format
procedure TForm1.Button1Click(Sender: TObject);
var
jo: ISuperObject;
begin
jo := SO('{"Name":"张三", "Age":88, "Tel":["111,222"], "Children":{"Name":"张继"}}');
ShowMessage(jo.Format('姓名: %Name%; 年龄: %Age%'));
ShowMessage(jo.Format('%Tel%; %Tel[0]%; %Tel[1]%'));
ShowMessage(jo.Format('%Children%; %Children.Name%'));
ShowMessage(jo.Format('[Name], [Age]', '[', ']')); {可更换默认的 % 标记}
end;
//特殊字符
procedure TForm1.Button2Click(Sender: TObject);
var
jo: ISuperObject;
begin
jo := SO;
{ \u }
jo := SO('"\u0041\u0042\u0043"');
ShowMessage(jo.AsString);
{ \x }
jo := SO('"\x41\x42\x43"');
ShowMessage(jo.AsString);
{ \u 汉字}
jo := SO('"\u4e07\u4e00"');
ShowMessage(jo.AsString);
{ \u 后面的数字可大写 }
jo := SO('"\u4E07\u4E00"');
ShowMessage(jo.AsString);
{ \\、\/ }
jo := SO('"A\\B\/C"');
ShowMessage(jo.AsString);
{ \t、\n 还有 \b、\f、\r }
jo := SO('"A\tB\nC"');
ShowMessage(jo.AsString);
{ \"" }
jo := SO('"\"ABC\""');
ShowMessage(jo.AsString);
{ null 是 JSON 的一种数据类型, 代表空值, 空值也是值的一种 }
jo := SO('[1,2,3,null]');
ShowMessage(jo.AsString);
end;
end.