• 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;
  • 相关阅读:
    可扩容分布式session方案
    Linux 极限压缩
    python调用jenkinsAPI
    Jenkins-slave分布式跨网络发布
    mysql查看指定数据库各表容量大小
    FastAPI--依赖注入之Depends(8)
    FastAPI--跨域处理(7)
    FastAPI--中间件(6)
    FastAPI--错误处理(5)
    FastAPI--响应报文(4)
  • 原文地址:https://www.cnblogs.com/dmqhjp/p/15777868.html
Copyright © 2020-2023  润新知