您的位置:首页 > 移动开发 > Objective-C

JSON 之 SuperObject(9): TSuperType

2016-03-06 09:16 459 查看
JSON 之 SuperObject(9): TSuperType

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;

//类型

procedure TForm1.Button1Click(Sender: TObject);

  function GetJsonType(I: ISuperObject): string;

  begin

    case I.DataType of

      stNull:    Result := 'stNull';

      stBoolean: Result := 'stBoolean';

      stDouble:  Result := 'stDouble';

      stInt:     Result := 'stInt';

      stObject:  Result := 'stObject';

      stArray:   Result := 'stArray';

      stString:  Result := 'stString';

      stMethod:  Result := 'stMethod';

    end;

  end;

var

  jo: ISuperObject;

begin

  jo := SO('{A:1, B:2}');

  ShowMessage(GetJsonType(jo)); {stObject}

  jo := SO;

  ShowMessage(GetJsonType(jo)); {stObject}

  jo := SO('abc');

  ShowMessage(GetJsonType(jo)); {stString}

  jo := SO(123);

  ShowMessage(GetJsonType(jo)); {stInt}

  jo := SO('123');

  ShowMessage(GetJsonType(jo)); {stInt}

  jo := SO(3.14);

  ShowMessage(GetJsonType(jo)); {stDouble}

  jo := SO('3.14');

  ShowMessage(GetJsonType(jo)); {stDouble}

  jo := SO(False);

  ShowMessage(GetJsonType(jo)); {stBoolean}

  jo := SO('[1,2,3,a,b,c]');

  ShowMessage(GetJsonType(jo)); {stArray}

  jo := TSuperObject.Create(stMethod);

  ShowMessage(GetJsonType(jo)); {stMethod}

  jo := SO('null');

  ShowMessage(GetJsonType(jo)); {stNull}

end;

//判断

procedure TForm1.Button2Click(Sender: TObject);

var

  jo: ISuperObject;

begin

  jo := SO('[]');

  if jo.DataType = stArray then ShowMessage('stArray');

  if ObjectIsType(jo, stArray) then ShowMessage('stArray');

end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: