Delphi中Json之superobject


 

superobject版本為1.2

開發環境D7

太容易忘記了,做個筆記

//1. Json的數組添加和賦值 

 1 var
 2   Ijson,Ijson_01:ISuperObject;
 3   s:string;
 4   i:Integer;
 5 begin
 6   Ijson:=superobject.SO('{}');
 7   Ijson.S['Set01']:='0000';
 8   Ijson.S['Set02']:='1111';
 9   Ijson.s['WhereSQLSet']:='WHere sdghfgj=sdfjhdf';
10   Ijson['WhereSQLSetDisplay']:=superobject.SA([]);
11   Ijson_01:=superobject.SO('{}');
12   for i:=1 to 10 do
13   begin
14     Ijson_01.S['ID']:=IntToStr(i);
15     Ijson_01.S['Name']:='A_'+IntToStr(i);
16     Ijson.A['WhereSQLSetDisplay'].Add(Ijson_01);
17   end;
18  Memo3.Text:=Ijson.AsString;
19 end;

 

//2. 數組中套數組

 1 var
 2   Ijson,Json_array:ISuperObject;
 3   s:string;
 4   i:Integer;
 5 begin
 6   Ijson:=superobject.SO('{}');
 7   Ijson.S['Set01']:='0000';
 8   Ijson.S['Set02']:='1111';
 9   Ijson.s['WhereSQLSet']:='WHere sdghfgj=sdfjhdf';
10   Ijson['WhereSQLSetDisplay']:=superobject.SA([]);
11   //Ijson_01:=superobject.SO('{}');
12   Memo3.Clear;
13   for i:=1 to 10 do
14   begin
15     Json_array:= superobject.SA([]);
16     Json_array.AsArray.S[0] :=IntToStr(i);
17     Json_array.AsArray.S[1] :='A_'+IntToStr(i);
18     Ijson.A['WhereSQLSetDisplay'].Add(Json_array);
19 
20   end;
21   Memo3.Text:=Ijson.AsString;
22 end;

 

//3.讀取2中的Memo3的數組值

 1 var
 2   Ijson,Ijson_array:ISuperObject;
 3   vs:string;
 4   i:Integer;
 5 begin
 6   Ijson:=superobject.SO(Memo3.Text);
 7   //讀數組
 8   vs:='';
 9   Memo4.Clear;
10   for i:=0 to 9 do
11   begin
12     Ijson_array:=superobject.SO(Ijson['WhereSQLSetDisplay'].AsArray.s[i]);
13     vs:=Ijson_array.AsArray.s[0]+';'+
14     Ijson_array.AsArray.S[1];
15     memo4.Lines.Add(vs);
16   end;
17 end;

 

//4.讀取這個[{"name":"A000000","teacher":"Tea000000","classroom":"C_R000000"},{"name":"A000001","teacher":"Tea000001","classroom":"C_R000001"}]

只提供思路,代碼片段,一種寫法

 1  jo := SO(str);
 2 
 3     
 4     for i:=0 to jo.AsArray.Length-1   do  //jo.AsArray.Length-1
 5     begin
 6       Append;
 7       FieldByName('name').Value := jo.AsArray[i]['name'].AsString;
 8       FieldByName('teacher').Value :=jo.AsArray[i]['teacher'].AsString;
 9       FieldByName('classroom').Value :=jo.AsArray[i]['classroom'].AsString;
10       
11     end;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM