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を使用していません。ユーザーフレンドリーなタイトルを手動で入力する必要があることは理解していますが、キーを変更するコード効率の良い方法が必要です。別の方法はありますか?