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] 但没有返回任何内容。想要通过 worker 下的所有项目进行解析,然后处理每个 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: https ://www.wemineltc.com/api?api_key=6fd24db2b31d3982ad5520c009588efe81b1b4cc07e9fcd7904d04434405e3ef 谢谢。

4

1 回答 1

6

使用 foreach 循环:

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