Delphi SuperObject json操作类的基本用法


本文整理自网络,侵删。

 
var
  jo, jf: ISuperObject;
  ja: TSuperArray;
  s,sColName,sValue: string;
 
 
 
 
//------------------------------
//取某节点下字段列表
  jo := SO(AJson);           //载入JSON字符串
  //ja:= jo['DATA'].AsArray; //取某节点下所有数据并序列化
  ja:= jo.A['DATA'];         //跟上面的效果一样
  ja:=SO(AJson).AsArray;     //无节点json字符串序列化
  jf := ja.O[0];             //取DATA节点下第一条记录
  ColList:=TStringList.Create;
  for i := 0 to jf.AsObject.count - 1 do
  begin
    ColList.Add(jf.AsObject.GetNames.AsArray[i].AsString );  //逐一取DATA节点下jf下的字段名
    //jf.AsObject.GetValues.AsArray[i].AsString;             //逐一取DATA节点下jf下的字段值
  end;
 
showmessage(ColList.Text);
 
返回字段值:
CpnID
ShortName
FullName
 
showmessage(jf.AsString);
 
返回值:
{"FullName":"宝沪国际(A)?Q易有限公司","ShortName":"宝沪国际-A","CpnID":"BHA"}
 
//----------------------------------------------------
sColName :=jf.AsObject.GetNames.AsString;
showmessage(sColName);
 
返回值:
["FullName","ShortName","CpnID"]
//----------------------------------------------------
sValue:=jf.AsObject.GetValues.AsString ;
showmessage(sValue);
 
返回值:
["宝沪国际(A)?Q易有限公司","宝沪国际-A","BHA"]
 
//----------------------------------------------------
jf.AsObject.GetValues.AsArray[k].AsString;  //取DATA节点下的字段值

节点循环取值示例:

procedure TForm1.Button7Click(Sender: TObject);
var
  jo: ISuperObject;
  i: integer;
begin
  jo := SO('{"A":1, B:2, C:3, D:4,E:5,F:6}');
  Memo2.Clear;
  for i := jo.AsObject.count - 1 downto 0 do
  begin
    Memo2.Lines.Add(jo.AsObject.GetNames.AsArray[i].AsString + ':' + jo.AsObject.GetValues.AsArray[i].AsString);
  end;
  Memo2.Lines.Add(jo.S['E']);  //取E的值 5
 
  for i := jo.AsObject.count - 1 downto 0 do
  begin
    Memo2.Lines.Add(jo.AsObject.GetNames.AsArray[i].AsString );
  end;
  //Memo2.Lines.Add(jo.S['E']);  //取E的值 5
 
 
end;
执行结果:


https://blog.csdn.net/wh445306/article/details/101992002

相关阅读 >>

Delphi 让combobox只允许输入数字和回车键以及Delphi key值表

Delphi idhashmessagedigest md5用法

Delphi 立即停止timer

Delphi meid校验码算法

Delphi 取最前窗口标题(不重复)

Delphi 遍历pe文件

Delphi 在firemonkey应用程序中设置application.title

关于Delphi下的三元运算符(三目运算)

Delphi与汇编杂谈

Delphi android adb usb上读取设备信息

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...