JSONのSuperObject(1)

1807 ワード

Delphiが直接「正規表現」と「JSON」をサポートすることを待ち望んでいた.
Delphi 2009に来たばかりの頃、JSONがあったが、よくなかった.その時、少し試したことがある.これは以前のリンクです:JSONとは何ですか?
Delphi 2010は2つの関連ユニットを持っています:DBXJSON、DBXJSOnReflectは強いようですが、主にDataSnapに準備されています.半日試しても、DataSnapネットワークへのデータ伝達が十分かもしれないが、あまりにも粗末で、書き終わっていないようで、中国語のサポートにも問題がある.
待たないと思います.第三者を探してください.本当にサプライズを見つけました.JSON-SuperObject v 1.1(プロフィール、ダウンロード)、Henri Gourvestの大作!
中にはXML関連のユニットもあるので、ゆっくり見てみましょう.
まず簡単なテストをします.
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;

//SuperObject       ; ParseString   TSuperObject    Class   
procedure TForm1.Button1Click(Sender: TObject);
var
  jo: ISuperObject;
begin
  jo := TSuperObject.ParseString('{"No1":"  ", "No2":"  "}');
  ShowMessage(jo['No1'].AsString); {  }
end;

//       SO,        
procedure TForm1.Button2Click(Sender: TObject);
var
  jo: ISuperObject;
begin
  jo := SO('{"No1":"  ", "No2":"  "}');
  ShowMessage(jo['No2'].AsString); //  
end;

end.

 
 
 
 
 

 

 
  

なぜインタフェースを主とするのですか?
JSONオブジェクトに含まれる可能性のあるサブオブジェクトが多すぎて、インタフェースで解放するのが便利です.自動解放ですから.
また、Delphi 2010が新たに与えたIOUntilsユニットの機能は、構造的に与えられ、構造も自己解放される.
自動リリース!これは方向ですか?しかし、これは確かに多くのコードを書くことが少なくなります.