zoukankan      html  css  js  c++  java
  • Delphi的Json学习之一

    -------Unit开始

    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation
    uses DBXJSON;
    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    myjson001:TJSONObject;
    begin
    myjson001:= TJSONObject.Create;
    myjson001.AddPair('aa', '111');
    myjson001.AddPair('bb', '222');

    Memo1.Lines.Text:=myjson001.ToString;
    //Memo1.Lines.Text:=myjson001.UnitName ;
    FreeAndNil(myjson001);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var
    a: TJSONArray;
    b:TJSONObject;
    i:Integer;
    begin
    a := TJSONArray.Create;
    a.Add(1);
    a.Add(2);
    a.Add('aaa');
    a.Add('bbb');

    b:=TJSONObject.Create;
    b.AddPair('aa','0000');

    a.AddElement(b);
    Memo1.Text := a.ToString;


    end;


    procedure TForm1.Button3Click(Sender: TObject);
    var
    myjson001:TJSONObject;
    myjson002:TJSONObject;
    MyJSONByteReader:TJSONByteReader;
    begin
    myjson001:= TJSONObject.Create;
    myjson001.AddPair('aa', '111');
    myjson001.AddPair('bb', '222');

    Memo1.Lines.Text:='{myjson001}'+#13#10+myjson001.ToString + #$D#$A; //Memo1.Lines.Text:=myjson001.UnitName ;
    myjson002:= TJSONObject.Create;
    myjson002.AddPair('cc', '333');
    myjson002.AddPair('dd', '444');

    Memo1.Lines.Text:='{myjson002}'+#13#10+myjson002.ToString + #$D#$A;

    myjson001.AddPair('test',myjson002);
    //ShowMessage(myjson001.Get('aa').JsonString.Value +' ' + myjson001.Get('aa').JsonValue.Value );
    ShowMessage((myjson001.Get('test').JsonValue as TJSONObject).Get ('cc').ToString );
    //Memo1.Lines.Text:='{myjson001嵌入myjson002}'+#13#10+myjson001.ToString ;
    Memo1.Lines.Add('{myjson001嵌入myjson002}'+#13#10+myjson001.ToString );
    myjson001.RemovePair('test') ;
    FreeAndNil(myjson002);
    FreeAndNil(myjson001);


    end;

    procedure TForm1.Button4Click(Sender: TObject);

    begin
    ShowMessage(IntToStr(Pos('1','12122312')));
    ShowMessage(StringReplace('11 1 11111',' ','2',[rfReplaceAll]));
    end;

    end.

    ------Unit结束------------

    ——-----Form开始--------

    object Form1: TForm1
    Left = 891
    Top = 540
    Caption = 'Form1'
    ClientHeight = 300
    ClientWidth = 600
    Color = clBtnFace
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = []
    OldCreateOrder = False
    Position = poDesigned
    PixelsPerInch = 96
    TextHeight = 13
    object Button1: TButton
    Left = 375
    Top = 8
    Width = 76
    Height = 25
    Caption = #31616#21333'json'
    TabOrder = 0
    OnClick = Button1Click
    end
    object Button2: TButton
    Left = 375
    Top = 51
    Width = 76
    Height = 25
    Caption = 'json'#25968#32452
    TabOrder = 1
    OnClick = Button2Click
    end
    object Memo1: TMemo
    Left = 0
    Top = 0
    Width = 369
    Height = 300
    Align = alLeft
    ImeName = #20013#25991'('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861
    Lines.Strings = (
    'Memo1')
    TabOrder = 2
    end
    object Button3: TButton
    Left = 375
    Top = 104
    Width = 75
    Height = 25
    Caption = 'json'#23884#22871'json'
    TabOrder = 3
    OnClick = Button3Click
    end
    object Button4: TButton
    Left = 472
    Top = 56
    Width = 75
    Height = 25
    Caption = 'Button4'
    TabOrder = 4
    OnClick = Button4Click
    end
    end

    ——-----Form结束--------

  • 相关阅读:
    在Linux下运行YY,WINE方式,主要注册表修改点及字体文件列表
    安卓so下,cmake编译系统,如何仅导出指定符号
    AutoHotKey脚本模板:初始化、配置、退出
    资源ID管理插件:VS6/VS.NET
    ListView控件,表格模式下,如何调整行高
    通过wscript运行的JS脚本,如何引入另一个JS文件
    64位编译器下,将指针转换成UINT32,不需要修改编译选项的编码方式
    视频帧双缓冲区的两个版本
    opencv、numpy中矩阵转置,矩阵内的固定位置相应的坐标变换
    CMake下,某些选项的后调整
  • 原文地址:https://www.cnblogs.com/dmqhjp/p/14142000.html
Copyright © 2011-2022 走看看