将Json转换为Html - 在json下面我将从服务器获取,我想将其显示为html表

时间:2014-02-13 10:14:12

标签: php html json

{"status":"OK","data":{"train_number":"11111","chart_prepared":false,"pnr_number":"4259444444","train_name":"AAA","travel_date":{"timestamp":1394841600,"date":"10-4-2014"},"from":{"code":"ABC","name":"CITYJUNCTION","time":"20:30"},"to":{"code":"XYZ","name":"TTR","time":"05:35"},"alight":{"code":"DDD","name":"TTR","time":"05:35"},"board":{"code":"ABC","name":"FFF","time":"20:30","timestamp":1394895600},"class":"SL","passenger":[{"seat_number":"S7 , 11,GN","status":"CNF"},{"seat_number":"S7 , 06,GN","status":"CNF"}]}}

4 个答案:

答案 0 :(得分:0)

$json = json_decode($array);//Decode Json
eccho($json);
function eccho($json){
foreach ($json as $file)
{
if(is_array($file))
 return eccho($json);
else
echo "<tr>";
echo "<td> $file </td>";
echo "</tr>";
}

}

也许这对你有用......

答案 1 :(得分:0)

你不能直接转换为HTML .. use可以使用 json_decode()函数将其转换为php数组,如下所示,或者使用解析jquery / javascript中的json ..

    $var = '{"status":"OK","data":{"train_number":"11111","chart_prepared":false,"pnr_number":"4259444444","train_name":"AAA","travel_date":{"timestamp":1394841600,"date":"10-4-2014"},"from":{"code":"ABC","name":"CITYJUNCTION","time":"20:30"},"to":{"code":"XYZ","name":"TTR","time":"05:35"},"alight":{"code":"DDD","name":"TTR","time":"05:35"},"board":{"code":"ABC","name":"FFF","time":"20:30","timestamp":1394895600},"class":"SL","passenger":[{"seat_number":"S7 , 11,GN","status":"CNF"},{"seat_number":"S7 , 06,GN","status":"CNF"}]}}';

    $ab = json_decode($var,true);
    print_r($ab); // here u will get your json data in php array. so now you can print it in html based on your requirements..

希望它会帮助你

答案 2 :(得分:0)

如果您通过AJAX从服务器获取响应,则使用

var json = '{"status":"OK","data":{"train_number":"11111","chart_prepared":false,"pnr_number":"4259444444","train_name":"AAA","travel_date":{"timestamp":1394841600,"date":"10-4-2014"},"from":{"code":"ABC","name":"CITYJUNCTION","time":"20:30"},"to":{"code":"XYZ","name":"TTR","time":"05:35"},"alight":{"code":"DDD","name":"TTR","time":"05:35"},"board":{"code":"ABC","name":"FFF","time":"20:30","timestamp":1394895600},"class":"SL","passenger":[{"seat_number":"S7 , 11,GN","status":"CNF"},{"seat_number":"S7 , 06,GN","status":"CNF"}]}}';
obj = JSON.parse(json);

或使用

data = eval( '(' + json + ')');

现在您可以访问

var status = data.status;

您可以在html中轻松显示显示数据。

答案 3 :(得分:0)

您需要使用json_decode将json字符串转换为对象或关联数组,然后您可以迭代结果。请务必使用htmlspecialcharshtmlentities来转义数据。

这应该有助于您入门:

function table_encode(array $array) {
    $buffer = '<table border="1"><thead>';
    foreach (array_keys($array) as $header) {
        $buffer .= '<th style="text-align:left">' . htmlspecialchars($header) . '</th>';
    }
    $buffer .= '</thead><tbody><tr>';
    foreach ($array as $value) {
        $buffer .= '<td>';
        if (is_array($value)) {
            $buffer .= table_encode($value);
        } else {
            $buffer .= htmlspecialchars($value);
        }
        $buffer .= '</td>';
    }
    $buffer .= '</tbody></table>';
    return $buffer;
}

$json = '{"status":"OK","data":{"train_number":"11111","chart_prepared":false,"pnr_number":"4259444444","train_name":"AAA","travel_date":{"timestamp":1394841600,"date":"10-4-2014"},"from":{"code":"ABC","name":"CITYJUNCTION","time":"20:30"},"to":{"code":"XYZ","name":"TTR","time":"05:35"},"alight":{"code":"DDD","name":"TTR","time":"05:35"},"board":{"code":"ABC","name":"FFF","time":"20:30","timestamp":1394895600},"class":"SL","passenger":[{"seat_number":"S7 , 11,GN","status":"CNF"},{"seat_number":"S7 , 06,GN","status":"CNF"}]}}';
$json = json_decode($json, true);
$html = table_encode($json['data']);
echo $html;