我用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()
之后放置以下内容是我能想到的唯一方法。它工作但需要一个if / elseif 200-300不同的键
if ($key == 'id.type.subtype') {
$key = 'Thing';
}
我已经很长时间没用PHP了。我知道任何方法都需要手动输入每个用户友好的标题,但必须有一个更有效的方法来更改密钥。还有另一种方式吗?