我有一个看起来像这样的 json 数组:
{"server-host-01":{"API":"Good","JETS":"Good","HTTPD":"Good","DISK":"23% Used","CPU":"WARNING: Avg idle at: 98% "},"server-host-02":{"DISK":"18% Used","CPU":"Avg idle at: 99% "}}
我有一个键,然后在该键中的另一个键:值数组,然后是另一个具有相同键:值设置的键。
在我的 php 脚本中,我将 json 文件分配给 $files 的变量,然后使用 json_decode 将其转换为 php 数组(我认为)
$files = (my_json_file.json);
$string = file_get_contents($file);
$json_a = json_decode($string, true);
现在我在 php 中有数组,我想打印主键,然后打印键的键:值。他们将进入一个 html 表,但在我担心 html 部分之前,我特别在寻找帮助打印出我需要的值。
查看 JSON 内容
您有一个 JSON 编码的数组,其中包含两个数组,如下所示(我通过此链接获得):
array (
'server-host-01' =>
array (
'API' => 'Good',
'JETS' => 'Good',
'HTTPD' => 'Good',
'DISK' => '23% Used',
'CPU' => 'WARNING: Avg idle at: 98% ',
),
'server-host-02' =>
array (
'DISK' => '18% Used',
'CPU' => 'Avg idle at: 99% ',
),
)
如果您想查看与 server-host-01 有关的所有值,您可以执行例如
var_dump($json_a['server-host-01']);
如果您只想要 CPU 状态,您可以执行例如
$server_host_01_CPU_Status = $json_a['server-host-01']['CPU']; var_dump($server-host-01-CPU-Status);
示例代码
这是上述操作的示例:
<?php
$json = json_decode('{"server-host-01":{"API":"Good","JETS":"Good","HTTPD":"Good","DISK":"23% Used","CPU":"WARNING: Avg idle at: 98% "},"server-host-02":{"DISK":"18% Used","CPU":"Avg idle at: 99% "}}');
$server_host_01_CPU_Status = $json['server-host-01']['CPU'];
var_dump($server_host_01_CPU_Status);
foreach($json['server-host-02'] as $key => $value)
{
var_dump("$key = $value");
}
?>
其他注意事项
您的行$files = (my_json_file.json);
是无效的 PHP。我不是 100% 确定您要实现的目标,但首先:
1)my_json_file.json
没有用引号括起来,因此 PHP 将其视为常量变量而不是字符串(这也会引发错误 - 打开 PHP 服务器错误以查看它)
2) 不带引号的字符串my_json_file.json
用括号括起来,在这种情况下它甚至不做任何事情。
假设你真正想要的是一个文件名数组,然后打开你会想要这样的东西:
$files = ['my_json_file.json'];
foreach($files as $file)
{
$contents = file_get_contents($file);
$json = json_decode($contents, true);
// foreach($json as $key => $value) { ...
}
我强烈建议您查看本教程,了解有关在 PHP 中处理 JSON 数据的基础知识。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句