0

TIdHTTP を使用して PHP 呼び出しから JSON データを取得しています。TJSONObject を使用する予定ですが、この目的での使用方法がわかりません。また、XE3 ヘルプには例がありません。

JSON データのサンプル

[{"fleet_id":"2","fleet":"EMB195"},{"fleet_id":"3","fleet":"EMB175"},{"fleet_id"‌:"1","fleet":"DHC84-400Q"}]

これは簡単だと思いますが、どうやって!

ありがとう。

4

1 に答える 1

3

TJsonObject.ParseJsonValue入力文字列を JSON 値に変換するために使用します。

var
  val: TJsonValue;

s := '[{"fleet_id":"2","fleet":"EMB195"},{"fleet_id":"3","fleet":"EMB175"},{"fleet_id"‌:"1","fleet":"DHC84-400Q"}]';
val := TJsonObject.ParseJsonValue(s);

この場合、JSON はたまたま配列を表しているため、その配列に型キャストできます。

var
  arr: TJsonArray;

arr := val as TJsonArray;

で配列の要素にアクセスしGet、結果を に型キャストできますTJsonObject

var
  i: Integer;
  elem: TJsonObject;

for i := 0 to Pred(arr.Size) do begin
  elem := arr.Get(i) as TJsonObject;
end;

オブジェクトのプロパティを調べるには、名前と値を保持するGetを返す メソッドを使用できます。TJsonPair

于 2013-03-08T21:29:47.503 に答える