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.
    
  • 相关阅读:
    使用tidylib解决不规则网页问题
    Python读取Json字典写入Excel表格的方法
    Python version 3.6 required, which was not found in the registry错误解决
    pip错误-failed to create process/fatal error in launcher
    Scrapy安装
    mongo数据库导入导出数据
    Windows命令
    Requests中文乱码解决方案
    mysql 1005 错误
    OC 内存管理-02 ARC 内存管理
  • 原文地址:https://www.cnblogs.com/del/p/1589906.html
Copyright © 2011-2022 走看看