【问题标题】:How to Converting Json To HTML Table?如何将 Json 转换为 HTML 表?
【发布时间】:2023-03-12 18:20:01
【问题描述】:

我有一个输出一些 json 的脚本。

我的 json 看起来像这样:

{"_get_RoomResult":{"DATA":{"FIELD":[{"F0":"project_no","F1":"room_no"},"",{"F0":"BR1","F1":"A302"},{"F0":"KB2","F1":"1202"}]}}}

结构是这样的:(来自.asmx):

如何使用 PHP 将数据转换为 HTML 表格?

我尝试了以下方法:

<?php
                include("lib/nusoap.php");
                $client = new nusoap_client("http://originserv.homeip.net/pap_test2/service1.asmx?wsdl",true); 
                $params = array('KeyWord'=>'1234!@#$%^','Server_Name'=>'Server_Name','Database_Name'=>'PAP_Property','ProgramName'=>'Web_Cust_Room','Program_Module'=>'','Current_User'=>'','PcUser'=>'','PcName'=>'','IP'=>'','User_Version'=>'','Group_Name'=>'ARA','Username'=>'thitima_k');
                $data = $client->call('_get_Room', $params);
                //print_r($data);
                 $result=json_encode($data);
                //print_r($result);
                $mydata = json_decode($result,true); 
?>

接下来我该怎么做?

我希望输出显示如下:

【问题讨论】:

  • OK,假设“FIELD”中的每个对象都有相同数量的属性,有什么尝试吗?
  • 如果你不提供你尝试它的例子,你至少应该提供你预期的输出。如果我们不知道您想要什么,人们的第一个答案不太可能是正确的,可能会引出问题,并且很可能会导致超出我们兴趣范围的子问题。..
  • 我没有建立这个 XML 先生。但我想使用 php 调用 WebService .NET 和 JSon 并将 JSon 转换为 HTML。
  • 显示您期望的示例数据集的表。数据集总是一样的吗?
  • 我想这样显示i.stack.imgur.com/qDAts.jpg

标签: php html json


【解决方案1】:

如何将您的 JSON 数据转换为 HTML 表格?

<?php

// json
$result = '{"_get_RoomResult":{"DATA":{"FIELD":[{"F0":"project_no","F1":"room_no"},"",{"F0":"BR1","F1":"A302"},{"F0":"KB2","F1":"1202"}]}}}';

// turn json into array
$data = json_decode($result,true);

// render table
echo "<table>";

// the data to iterate over is in a sub-array
//var_dump($data['_get_RoomResult']['DATA']['FIELD']);

$render_header = true;

foreach($data['_get_RoomResult']['DATA']['FIELD'] as $values)
{
    if(!is_array($values)) continue; // json data contains a string, skip that

    if($render_header === true) {
        echo '<tr><th>' . $values['F0'] . '</th><th>' . $values['F1'] . '</th></tr>';
        $render_header = false; // render header only once
    } else {
        echo '<tr><td>' . $values['F0'] . '</td><td>' . $values['F1'] . '</td></tr>';
    }
}

echo "</table>";

【讨论】:

  • 不客气。当你有足够的分数时,请接受答案。
猜你喜欢
  • 1970-01-01
  • 2013-09-03
  • 2014-02-23
  • 2014-10-28
  • 2021-06-05
  • 2015-09-02
  • 2013-07-02
  • 2021-07-05
相关资源
最近更新 更多