jsonarray转liast_Delphi解析修改Json文件,基于superobject.pas(ISuperObject)

该博客介绍如何在Delphi中使用SuperObject库来解析和操作JSON数据。通过示例展示了读取JSON对象的特定字段,如时间戳和坐标数组,并将这些信息添加到Memo组件中。
摘要由CSDN通过智能技术生成

//处理JSON字符串,按照固定结构读取

procedureTForm2.Button2Click(Sender: TObject);varjRet, jUsers: ISuperObject;

aryUsers: TSuperArray;

gridStartTime, gridEndTime, resultStartTime, resultEndTime, WindSpeedBorder,

WindDirectBorder:string;

po, pof, poh, posp: Tpoint;

num, count, I, J: integer;

aryers, arrline, arrbar, arrspeed: TSuperArray;

Tlist: TStringlist;beginjRet:=TSuperObject.Create(stObject);

Tlist := TStringlist.Create;

Tlist.Delimiter := ',';

jRet :=SO(Res);

gridStartTime := jRet.O['gridStartTime'].AsString();

Memo1.Lines.Add(gridStartTime);

gridEndTime := jRet.O['gridEndTime'].AsString();

Memo1.Lines.Add(gridEndTime);

resultStartTime := jRet.O['resultStartTime'].AsString();

Memo1.Lines.Add(resultStartTime);

resultEndTime := jRet.O['resultEndTime'].AsString();

Memo1.Lines.Add(resultEndTime);

WindSpeedBorder := jRet.O['WindSpeedBorder'].AsString();

Memo1.Lines.Add(WindSpeedBorder);

WindDirectBorder := jRet.O['WindDirectBorder'].AsString();

Memo1.Lines.Add(WindDirectBorder);

aryers := jRet.O['WindDirectLine'].O['coordinates'].AsArray();

count :=aryers.Length;for I := 0 to count - 1 do

beginarrline := aryers[I].O['mWindDirectBaseLine'].AsArray();for J := 0 to arrline.Length - 1 do

begin

//Tlist.DelimitedText := arrline[J].O['p'].AsString();

//po:=point(strtoint(Tlist[0]),strtoint(Tlist[1]));

Memo1.Lines.Add(arrline[J].O['p'].AsString());end;

arrbar := aryers[I].O['mWindDirectBars'].AsArray();for J := 0 to arrbar.Length - 1 do

begin

//Tlist.DelimitedText := arrbar[J].O['f'].O['p'].AsString();

//pof:=point(strtoint(Tlist[0]),strtoint(Tlist[1]));

//Tlist.DelimitedText := arrbar[J].O['h'].O['p'].AsString();

//poh:=point(strtoint(Tlist[0]),strtoint(Tlist[1]));

Memo1.Lines.Add('f:' + arrbar[J].O['f'].O['p'].AsString()+ 'h:' + arrbar[J].O['h'].O['p'].AsString());end;end;

aryers := jRet.O['WindSpeedLine'].O['coordinates'].AsArray();

count :=aryers.Length;for I := 0 to count - 1 do

beginarrspeed :=aryers[I].AsArray();for J := 0 to arrspeed.Length - 1 do

begin

//Tlist.DelimitedText := arrspeed[J].O['p'].AsString();

//posp:=point(strtoint(Tlist[0]),strtoint(Tlist[1]));

Memo1.Lines.Add(arrspeed[J].O['p'].AsString());end;end;

application.MessageBox('处理完成!', '提示', MB_OK);end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值