我是JSON的新手,使用Delphi XE2进行php和IOS开发。
我想解析一个从php脚本中得到的JSON数组 http://returnjson.ap01.aws.af.cm/returnjson.php
当它打开时,我将数组作为
[{"cname":"MAAO"},{"cname":"MAIM"}]
我从http://arcana.sivv.com/chimera安装了此解析器 并且代码示例在这里
procedure TForm1.Button3Click(Sender: TObject);
var
i : integer;
obj : IJSONObject;
begin
obj := JSON('{"firstname":"leonard",'+
' "lastname":"nimoy",'+
' "email":['+
' "spock@enterprise.com",'+
' "lazydude@mars.com"]'+
'}');
Writeln(obj['firstname']);
for i := 0 to obj.Arrays['email'].count-1 do
begin
Writeln(obj.Arrays['email'][i]);
// StringGrid1.Cells[0,i]:=obj.Arrays['email'][i];
end;
obj['lastname'] := 'shatner';
writeln(obj.AsJSON);
ReadLn;
end;
任何人都可以告诉我如何传递json数组
http://returnjson.ap01.aws.af.cm/returnjson.php
到obj : IJSONObject;
?
答案 0 :(得分:1)
您需要使用某种方式从网络服务器获取数据。我使用TMS网络软件组件。我不使用XE2所以不确定是否有本机组件来执行此操作。
我使用他们的webdata组件做类似的事情。删除表单上的webdata组件,然后删除示例中的代码: -
with webdata1.Data.Add do
begin
scanfirst := '<span id="yfs_l10';
scanfrom := '">';
scanto := '</';
url := 'http://finance.yahoo.com/q?s='+quotes+'&d=v1';
end;
end;
webdata1.Execute;
for i := 1 to stringgrid1.RowCount - 1 do
begin
stringgrid1.Cells[2,i] := webdata1.Data.Items[i - 1].Data;
end;