我有一個巨大的JSON數據問題。我從服務後端獲取json數據,然後使用PHP將數據解析爲HTML。用PHP解析巨大的json數據到html很慢
當我需要2個第二胎JSON數據,但是當我解析成HTML,時間過久,在35秒左右。 如何加快解析時間?
找到我的代碼波紋管。我使用遞歸函數和該函數內的循環。
$allstructure=$this->allStructure();
$str='<ul style="padding: 0px;padding-left: 5px;list-style: none">';
for ($x=0;$x<count($allstructure);$x++){
$str.='<li>'.$allstructure[$x]->name.'</li>';
$str.='<li>'.$this->iterator($allstructure[$x]->child).'</li>';
}
$str.='</ul>';
return $str;
}
public function iterator($data)
{
$str='<ul>';
for($i=0;$i<count($data);$i++) {
$str.='<li>'.$data[$i]->name;
$str.='<ul>';
$str.='<li style="display:flex"><input type="checkbox" class="rehbersecim"></li>';
for($z=0;$z<count($data[$i]->listPosNames);$z++){
$str.='<li style="display:flex"><input type="checkbox" class="checkqutu" name="vezife[]" value="'.$data[$i]->listPosNames[$z]->posNameId.'"><p style="width:230px;height:20px"><b>'.$data[$i]->listPosNames[$z]->posName.'</b></p> '.$this->createHtml($data[$i]->listPosNames[$z]->posNameId).'</li>';
}
$str.='</ul>';
if(isset($data[$i]->child)){
$str.=$this->iterator($data[$i]->child);
}
$str.='</li>';
}
$str.='</ul>';
return $str;
}
請詳細說明「當我得到原始JSON數據需要2秒」的含義。我假設「將它解析爲HTML」是指當您遍歷整個JSON'$ allstructure'來輸出PHP中的HTML時? 一個顯而易見的事情就是將JSON切割成更小的塊。如果數據很大,那麼我認爲在瀏覽器中向用戶顯示如此長的列表是沒有意義的。 – TomTom101