當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSON 之 SuperObject(6): 方法
生活随笔
收集整理的這篇文章主要介紹了
JSON 之 SuperObject(6): 方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SuperObject 的 JSON 對象中還可以包含 "方法", 這太有意思了; 其方法的格式是:
測試代碼:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, Keyboard;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses SuperObject;//方法1; 參數列表是規定好的, 但這里沒使用參數 procedure Method1(const This, Params: ISuperObject; var Result: ISuperObject); beginShowMessage('Hello'); end;//方法2; 這里使用了第二個參數; 這里的第二個就是調用時的第一個 procedure Method2(const This, Params: ISuperObject; var Result: ISuperObject); beginShowMessage(Params.AsJSon); end;//方法3; 這里使用了第一個參數; 第一個參數值使用時無需傳遞, 它代表使用方法的對象本身 procedure Method3(const This, Params: ISuperObject; var Result: ISuperObject); beginShowMessage(This.AsJSon); end;//方法4; 這里使用了第三個參數; 這是調用時的返回值, 如果不給它賦值, 調用時將無返回值 procedure Method4(const This, Params: ISuperObject; var Result: ISuperObject); beginResult := This;Result.Merge(Params, True); {合并} end;//第一種使用方法 procedure TForm1.Button1Click(Sender: TObject); varjo: ISuperObject; beginjo := SO('{"X":"Y"}');jo.M['jm1'] := @Method1;jo.M['jm2'] := @Method2;jo.M['jm3'] := @Method3;jo.M['jm4'] := @Method4;jo.call('jm1');? ? ? ? ? ? ? ? ? ? ? // Hellojo.call('jm2', SO('{"A":"B"}'));? ? // {"A":"B"}jo.call('jm2', '{"A":"B"}');? ? ? ? // {"A":"B"}jo.call('jm3');? ? ? ? ? ? ? ? ? ? ? // {"X":"Y"}jo.call('jm4', '{"B":null}');ShowMessage(jo.AsJSon);? ? ? ? ? ? ? // {"X":"Y","B":null} end;//第二種使用方法 procedure TForm1.Button2Click(Sender: TObject); vart,jo: ISuperObject; beginjo := SO('{"X":"Y"}');jo.M['jm1'] := @Method1;jo.M['jm2'] := @Method2;jo.M['jm3'] := @Method3;jo.M['jm4'] := @Method4;jo['jm1()'];? ? ? ? ? ? ? ? ? ? ? ? ? // Hellojo['jm2(' + '{"A":"B"}' + ')'];? ? ? ? // {"A":"B"}jo['jm2({A:B})'];? ? ? ? ? ? ? ? ? ? ? // {"A":"B"}jo['jm3()'];? ? ? ? ? ? ? ? ? ? ? ? ? // {"X":"Y"}jo['jm4(' + '{"B":null}' + ')'];ShowMessage(jo.AsJSon);? ? ? ? ? ? ? ? // {"X":"Y","B":null} end;end.
轉載于:https://www.cnblogs.com/cpprun/p/4787963.html
總結
以上是生活随笔為你收集整理的JSON 之 SuperObject(6): 方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10开发UWP使用.Net Nat
- 下一篇: Makedown 本地图片问题