JSON 之 SuperObject(4): 增、删、改
2016-03-06 09:10
429 查看
JSON 之 SuperObject(4): 增、删、改
unit Unit1;
interface
bae5
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses SuperObject;
//添加
procedure TForm1.Button1Click(Sender: TObject);
var
jo: ISuperObject;
i: Integer;
begin
jo := TSuperObject.Create;
for i := 0 to 9 do jo.I['N' + IntToStr(i)] := i;
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.S['N' + IntToStr(i)] := IntToStr(i);
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.B['N' + IntToStr(i)] := Odd(i);
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.D['N' + IntToStr(i)] := i / 2;
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.O['N' + IntToStr(i)] := SO('{"A":"B"}');
ShowMessage(jo.AsJSon(True));
jo.Clear;
ShowMessage(jo.AsJSon(True));
end;
//修改与删除
procedure TForm1.Button2Click(Sender: TObject);
var
jo: ISuperObject;
str: string;
begin
jo := SO('{"Name":"张三", "Age":88}');
ShowMessage(jo.AsJSon(False, False));
jo.S['Name'] := '李四';
jo.I['Age'] := 18;
ShowMessage(jo.AsJSon(False, False));
jo.Delete('Age');
ShowMessage(jo.AsJSon(False, False));
jo.D['Size'] := 1.83;
ShowMessage(jo.AsJSon(False, False));
end;
//TSuperArray 的增、删、改与查看
procedure TForm1.Button3Click(Sender: TObject);
var
jo,item: ISuperObject;
ja: TSuperArray;
i: Integer;
str: string;
begin
jo := SO('{"爱好":["编程","打球"]}');
ShowMessage(jo.AsJSon(False, False));
jo.A['爱好'].Add(SO('看电视'));
ShowMessage(jo.AsJSon(False, False));
ja := jo.A['爱好'];
ja.Add(SO('游泳'));
ShowMessage(jo.AsJSon(False, False));
ja.Insert(0, SO('睡觉'));
ShowMessage(jo.AsJSon(False, False));
ja.Delete(0);
ShowMessage(jo.AsJSon(False, False));
ja.D[0] := 3.14;
ShowMessage(jo.AsJSon(False, False));
ja.O[0] := SO('{}');
ShowMessage(jo.AsJSon(False, False));
str := '';
for i := 0 to ja.Length - 1 do str := Format('%s %s', [str, ja.S[i]]);
ShowMessage(Trim(str));
str := '';
for item in jo['爱好'] do str := Format('%s %s', [str, item.AsString]);
ShowMessage(Trim(str));
ja.Clear;
ShowMessage(jo.AsJSon(False, False));
end;
end.
unit Unit1;
interface
bae5
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses SuperObject;
//添加
procedure TForm1.Button1Click(Sender: TObject);
var
jo: ISuperObject;
i: Integer;
begin
jo := TSuperObject.Create;
for i := 0 to 9 do jo.I['N' + IntToStr(i)] := i;
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.S['N' + IntToStr(i)] := IntToStr(i);
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.B['N' + IntToStr(i)] := Odd(i);
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.D['N' + IntToStr(i)] := i / 2;
ShowMessage(jo.AsJSon(True));
for i := 0 to 9 do jo.O['N' + IntToStr(i)] := SO('{"A":"B"}');
ShowMessage(jo.AsJSon(True));
jo.Clear;
ShowMessage(jo.AsJSon(True));
end;
//修改与删除
procedure TForm1.Button2Click(Sender: TObject);
var
jo: ISuperObject;
str: string;
begin
jo := SO('{"Name":"张三", "Age":88}');
ShowMessage(jo.AsJSon(False, False));
jo.S['Name'] := '李四';
jo.I['Age'] := 18;
ShowMessage(jo.AsJSon(False, False));
jo.Delete('Age');
ShowMessage(jo.AsJSon(False, False));
jo.D['Size'] := 1.83;
ShowMessage(jo.AsJSon(False, False));
end;
//TSuperArray 的增、删、改与查看
procedure TForm1.Button3Click(Sender: TObject);
var
jo,item: ISuperObject;
ja: TSuperArray;
i: Integer;
str: string;
begin
jo := SO('{"爱好":["编程","打球"]}');
ShowMessage(jo.AsJSon(False, False));
jo.A['爱好'].Add(SO('看电视'));
ShowMessage(jo.AsJSon(False, False));
ja := jo.A['爱好'];
ja.Add(SO('游泳'));
ShowMessage(jo.AsJSon(False, False));
ja.Insert(0, SO('睡觉'));
ShowMessage(jo.AsJSon(False, False));
ja.Delete(0);
ShowMessage(jo.AsJSon(False, False));
ja.D[0] := 3.14;
ShowMessage(jo.AsJSon(False, False));
ja.O[0] := SO('{}');
ShowMessage(jo.AsJSon(False, False));
str := '';
for i := 0 to ja.Length - 1 do str := Format('%s %s', [str, ja.S[i]]);
ShowMessage(Trim(str));
str := '';
for item in jo['爱好'] do str := Format('%s %s', [str, item.AsString]);
ShowMessage(Trim(str));
ja.Clear;
ShowMessage(jo.AsJSon(False, False));
end;
end.
相关文章推荐
- JSON 之 SuperObject(3): 访问
- JSON 之 SuperObject(1)
- JSON 之 SuperObject(12): TSuperEnumerator、TSuperAvlIterator、ObjectFindFirst...
- JSON 之 SuperObject(13): 关于 SO 与 SA 函数
- pom.xml(Project Object Model) 文件简单介绍
- Object-c基础
- Objective-C 中 @property的使用
- Objective-C概述
- Objective-C 内存管理方式 二
- Objective-C研究院之NSMutableString
- Objective-c 内存管理方式
- performSelectorOnMainThread:withObject: waitUntilDone 参数解释
- 平台:VS2010+object2015(sdk)+zwCAD2015(开发版) 配置
- Any、AnyObject、as
- 【论文学习笔记】Class-Specific Hough Forests For Object Detection
- 让相对定位的层位于object的上面
- Flask--AttributeError 'bool' object has no attribute '__call__'
- Objective-C Runtime 一小时入门教程(上)
- SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-006- 使用thymeleaf(TemplateResolver、SpringTemplateEngine、ThymeleafViewResolver、th:include、th:object、th:field="*{firstName}")
- 包装类、object、单例模式、final、抽象类