0

Delphi XE2 を使用した JSON と 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;

http://returnjson.ap01.aws.af.cm/returnjson.php から に json 配列を渡す方法を教えてもらえます obj : IJSONObject;か?

4

1 に答える 1

1

Web サーバーからデータを取得するには、何らかの方法を使用する必要があります。TMS Web ソフトウェア コンポーネントを使用しています。私は 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;
于 2013-01-08T12:39:55.057 に答える