Delphi SuperObject json操作类的基本用法
2023-01-03 14:33:27 作者:admin
本文整理自网络,侵删。
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); 返回字段值:CpnIDShortNameFullName 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 10.4 freeandnil 问题
Delphi 数组复制利用copymemory 最为完美
Delphi tms web core 判断是否包含汉字
Delphi 利用csidl打开特殊文件夹
Delphi根据网络链接截取域名
键盘钩子,鼠标钩子,Delphi环境下编写的键盘鼠标钩子的程序示例
Delphi函数assignfile使用
Delphi 如何在richedit控件里加入链接
Delphi getfilehashmd5获取文件 hashmd5值
Delphi 几个和当前路径相关的新函数
更多相关阅读请进入《Delphi》频道 >>
猜你喜欢
联络方式:
400-123-789
邮箱:xiachao@163.com
Q Q:12345678
微信公众号
微信二维码