在Delphi7中JSON遍历节点不支持使用IN处理方法

时间:2024-06-19 23:34:08

相关资料:http://www.cnblogs.com/del/archive/2009/10/23/1588690.html

问题现象:在高版本中可以使用IN处理JSON的节点循环问题,可是发现D7不支持。

问题处理:

Delphi2007源代码:

 procedure TForm1.Button1Click(Sender: TObject);
var
jo: ISuperObject;
item: ISuperObject;
begin
jo := SO(Memo1.Text);
for item in jo do
Showmessage(item.asjson(false,false));
end;

Delphi7源代码:

 //使用 TSuperObjectIter 遍历
procedure TForm1.Button8Click(Sender: TObject);
var
jo: ISuperObject;
item: TSuperObjectIter;
begin
jo := SO(Memo1.Text); if ObjectFindFirst(jo, item) then
repeat
ShowMessageFmt('key: %s; val: %s', [item.key, item.val.AsString]);
until not ObjectFindNext(item);
ObjectFindClose(item);
end;