博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON 之 SuperObject(9): TSuperType
阅读量:6702 次
发布时间:2019-06-25

本文共 1759 字,大约阅读时间需要 5 分钟。

  hot3.png

unit Unit1;interfaceuses  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.

转载于:https://my.oschina.net/hermer/blog/319216

你可能感兴趣的文章
Python基础:语法基础(3)
查看>>
杭电2097
查看>>
Set default value for column[转]
查看>>
个人管理:从影片《横空出世》中学到...
查看>>
WPF:从WPF Diagram Designer Part 4学习分组、对齐、排序、序列化和常用功能
查看>>
编码风格不是编码规范
查看>>
支持取消操作和暂停操作的Backgroundworker
查看>>
程序员职场-三人行,必有我师
查看>>
override与new的区别
查看>>
linux下播放mp3
查看>>
[转载]---通过一个示例,演示利用logminer,恢复delete误删除操作的数据
查看>>
UIPageControl的一个Demo
查看>>
log4cplus配置文件使用
查看>>
java web 学习 --第一天(Java三级考试)
查看>>
SoapUI Pro Project Solution Collection –Easy develop Groovy Script to improve SoapUI ability
查看>>
[Leetcode] Course Schedule
查看>>
[收藏]String formatting in C# :玩转string.format
查看>>
扯扯所学的编程语言
查看>>
数据库设计准则(第一、第二、第三范式说明)
查看>>
[转]SharePoint 2013配置开发环境,需安装VS2012插件
查看>>