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.
    
  • 相关阅读:
    编译安装redis-3.2.9(latest stable version)
    MySQL之从忘记密码到重置密码
    Linux时间和时区设定
    java.net.UnknownHostException 异常处理(转)
    制作FastDFS的RPM包
    RPM包安装MySQL 5.7.18
    白鹭http请求post
    iframe嵌套页面 跨域
    git 配置 https和ssh 免密码登录 常用操作命令
    php 错误提示开启
  • 原文地址:https://www.cnblogs.com/del/p/1589906.html
Copyright © 2011-2022 走看看