我在同一个文件夹中有 table.html , data.php 和 json.csv 。
data.php 正在执行fopen("json.csv","r")
来读取 json.csv 。
如何在 table.html ?
中将JSON对象显示为表格<html>
<head>
<script type="text/javascript" src="jquery.js">
function display(){
$.post('data.php',function(data){
$("#txtJSON").html(data);
});
}
</script>
</head>
<body onload="display()">
<table id="#jobtable">
<input type="text" id="txtJSON" />
</table>
</body>
</html>
答案 0 :(得分:9)
您只需要json_decode
和一些迭代
http://php.net/manual/en/function.json-decode.php
我将向您展示一种非常简单的PHP方法。你没有告诉JSON的任何内容,所以我假设它是扁平的(不是嵌套的)。我想你可能也想改变客户端的东西。将txtJSON
变为空div
,其中将填充PHP的输出。
$file = $fopen("json.csv", 'r');
$fileText = fread($file, filesize($file));
$arr = json_decode($fileText, true); //i prefer associative array in this context
echo "<table>";
foreach($arr as $k=>$v)
echo "<tr><td>$k</td><td>$v</td></tr>";
echo "</table>";
如果您的JSON不平坦,那么您希望结果表看起来像什么?
答案 1 :(得分:2)
这里我将json数据带入$ json变量,然后使用foreach循环从json数据创建表。
foreach ($data as $key => $jsons) {
$table ='<table class="'.$jsons['class'].'" border="1">';
foreach ($jsons as $rkey => $rvalue) {
if($rkey=='head')
{
$table.='<tr>';
foreach($rvalue as $rvv)
{
$table.='<th>'.$rvv.'</th>';
}
$table.='</tr>';
}else
if($rkey=='rows')
{
foreach($rvalue as $rvv)
{
$table.='<tr>';
foreach($rvv as $rv)
{
$table.='<td>'.$rv.'</td>';
}
$table.='</tr>';
}
}
}
}
echo $table;
?>
答案 2 :(得分:0)
您可以使用此库将Json转换为标准HTML表格:Json-To-Html-Table