0

サブ値をハードコーディングせずに解析したいjsonがいくつかあるので、私以外の人もこれを使用できます。JSON の例は次のとおりです。

{
"payout_history":"0",
"round_shares":"1816",
"workers":
  {
    "jbo.5970":
      {
        "alive":"1",
        "hashrate":"1253"
      },
    "jbo.5970cpu":
      {
        "alive":"1",
        "hashrate":"21"
      },
    "jbo.5970-2":
      {
        "alive":"1",
        "hashrate":"1062"
      }
  }
}

['workers']['jbo.5970'] で直接アクセスできる jbo レベルのアイテムですが、['workers][0] のように試してみましたが、何も返されませんでした。ワーカーの下のすべてのアイテムを解析してから、完全に異なる名前付きの値になる可能性のある各 jbo 値の配列要素を処理したい。考え?

ありがとう。

更新情報:

以下を使用して、各ワーカーの生存とハッシュレートのステータスを取得できます。しかし、ワーカー自体の名前を取得できません。


    $wemineltc = file_get_contents("http://fakeurl.sincethissite.dontlikelocalhost/wemineltc.json");
    $obj=json_decode($wemineltc,true);
    foreach ($obj['workers'] as $wrk)
        {
          echo $wrk['alive'];
          echo $wrk['hashrate'];
        }

$obj['workers']['jbo.5970']['alive'] のように特定のワーカーのステータスを取得することもできますが、前述のように、ワーカーは動的であると想定しています。私は基本的にワーカー自体の名前を出力できるようにしたいと考えています。考え?

ちなみに、URL の例は次のとおり です

4

1 に答える 1

6

foreach ループを使用します。

foreach ($var['workers'] as $jboId => $jboData) {
  var_dump($jboData);
}
于 2013-09-09T16:31:41.550 に答える