打印json数据

时间:2017-05-01 23:12:20

标签: php json

我有这个json" https://www.decodethis.com/webservices/decodes/1Fmzu64p5yzb76700/aYcBzLfMCRs_JScq_sZt/0.json" 我用$data = json_decode($json, true);解码它 但是当我尝试打印车辆部件foreach($data['vehicle'][0] as $p) {echo $p;}时 系统打印为"为foreach()提供的无效参数"和"未定义的索引"。 我是新手,请原谅我。

编辑:
这非常有用foreach ($data['decode']['vehicle'][0] as $p) echo $p;,但现在我想知道我是否能够知道每个循环上元素$ p的键或索引,例如" body> driveline>发动机> ID" ...

3 个答案:

答案 0 :(得分:0)

您可能想要使用:

$json = file_get_contents("https://www.decodethis.com/webservices/decodes/1Fmzu64p5yzb76700/aYcBzLfMCRs_JScq_sZt/0.json");
$obj = json_decode($json, true);

foreach($obj["decode"]["vehicle"]  as $vehicle )
{
   echo $vehicle['body'];
   echo $vehicle['engine'];
   # etc...

}

答案 1 :(得分:0)

路径就像这些;

foreach ($data['decode']['vehicle'][0] as $p) echo $p;

答案 2 :(得分:0)

为了访问json文件中的输出,将解码为根密钥。因此,首先访问解码密钥然后使用车辆信息。

下面是代码:

$data = json_decode($json, true);
$json = $data["decode"]["vehicle"][0];
foreach($json->entries as $row) {
      foreach($row as $key => $val) { 
             echo $key . ': ' . $val;
             echo '<br>'; 
      }
}