0

私は wget を使用して、毎日次のような数十の JSON ファイルを取得しています。

 {
 "results":  [
     {
      "id": "ABC789",
      "title": "Apple",
     },
     {
      "id": "XYZ123",
      "title": "Orange",
     }]
 }

私の目標は、値または値のセットを指定して、各 JSON ファイルの行の位置を見つけることです (つまり、「XYZ123 はどの行にありますか?」)。前の例では、ABC789 は行 1、XYZ123 は行 2 などです。

今のところ、Google Regine を使用して、XYZ123 が立っている場所 (行 2) を (テキスト フィルター オプションを使用して) 「すばやく」視覚化します。

しかし、ファイルごとに手動でこれを行うには時間がかかるため、一度にすばやく効率的な方法があるかどうか疑問に思っていました.

どうすればよいですか?また、リクエストを取得して実行するにはどうすればよいですか? 前もって感謝します!FoF0

4

2 に答える 2

0

パイソンでは:

import json
#assume json_string = your loaded data
data = json.loads(json_string)
mapped_vals = []
for ent in data:
  mapped_vals.append(ent['id'])

リストはシーケンス コレクションであるため、リスト内の項目の順序は json データに従ってインデックスが作成されます。

PHP の場合:

$data = json_decode($json_string);
$output = array();
foreach($data as $values){
  $output[] = $values->id;
}

繰り返しになりますが、PHP 配列の順序付けされた性質により、出力はインデックスに関してそのまま順序付けられます。

必要に応じて、マップされた辞書 (python) または連想配列 (php) を使用するように、どちらの例も変更できます。

idこれらを、値を引数として取り、それらが配列内でどれだけ離れているかを追跡し、見つかったときにブレークアウトして現在のインデックスを返す関数に適応させることができます。

于 2012-06-26T18:08:49.083 に答える