我正在用 PHP 解码一个 .json 文件。我已成功将 json 数据放入 html 表中。
json数据的形式为:
{..."id.type.subtype":value,"id.type.subtype2":value,"id.type1.subtype":value,...}
这在我的 HTML 表中显示为:
<tr><td>id.type.subtype</td><td>value</td></tr>
我想将每个唯一的名称转换id.type.subtype
为唯一的人类可读名称,例如Thing
.
我的完整代码:
<?php
$json = file_get_contents('file.json');
$jsonIterator = new
RecursiveIteratorIterator(new RecursiveArrayIterator(json_decode($json, TRUE)), RecursiveIteratorIterator::SELF_FIRST);
if (count($jsonIterator) > 0) {
echo "<table>\n";
foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
$cnt = count($val);
echo "<tr><td>$key</td></tr>\n";
} else {
echo "<tr><td>$key</td><td>$val</td></tr>\n";
}
}
echo "</table>\n\n";
} else {
echo "<p>The iterator is empty.</p>";
}
?>
将以下内容放在后面foreach()
是我能想到的唯一方法。它可以工作,但需要 200-300 个不同键的 if/elseif
if ($key == 'id.type.subtype') {
$key = 'Thing';
}
我已经很久没有使用 PHP 了。我知道任何方法都需要手动输入每个用户友好的标题,但必须有一种更有效的代码方法来更改键。还有其他方法吗?