zoukankan      html  css  js  c++  java
  • 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.
  • 相关阅读:
    Python 入门 之 print带颜色输出
    memcache缓存
    PDO
    面向对象(二)
    面向对象(一)
    文件上传
    简单的权限管理
    当前时间与时期联动
    淡入淡出、滑动、及遍历
    留言板相关功能
  • 原文地址:https://www.cnblogs.com/cpprun/p/4787972.html
Copyright © 2011-2022 走看看