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.
  • 相关阅读:
    腾讯QQ服务器汇总表 及禁用QQ方法
    C#下一个SQL SERVER数据库操作类
    获取页面运行时间以及数据库查询次数
    GridView导出Excel
    使用FileUpload控件上传图片并自动生成缩略图、带文字和图片的水印图
    JS图片loading及放大查看效果(兼容IE,FF)
    .NET 开发人员十个必备工具
    jsp日期时间格式化输出
    MyEclipse6.5与Perforce的集成
    [转]firefox与IE的nextSibling
  • 原文地址:https://www.cnblogs.com/cpprun/p/4787972.html
Copyright © 2011-2022 走看看