3 回答

TA貢獻1963條經(jīng)驗 獲得超6個贊
使用解碼 JSON 后,json_decode您可以循環(huán)訪問這樣的項目(使用提供的代碼作為示例):
// $raw_json would be the json you received
$data = json_decode($raw_json);
$html = "";
foreach($data->offers as $offer){
// $offer now has all of the child properties e.g. $offer->products
foreach($offer->products as $product){
// $product now has all of the child properties e.g. $product->title
$html .= "<div>Title: {$product->title}</div>";
}
}
json_decode有第二個參數(shù),您可以傳遞該參數(shù)true以確保它返回關聯(lián)數(shù)組,這意味著您可以訪問$variable["propName"]. 這會將上面的代碼更改為:
// $raw_json would be the json you received
$data = json_decode($raw_json, true);
$html = "";
foreach($data['offers'] as $offer){
// $offer now has all of the child properties e.g. $offer['products'[
foreach($offer['products ']as $product){
// $product now has all of the child properties e.g. $product['title']
$html .= "<div>Title: {$product['title']}</div>";
}
}

TA貢獻1848條經(jīng)驗 獲得超2個贊
您需要在包含所需數(shù)據(jù)的數(shù)組內(nèi)循環(huán)。
$data = json_decode($raw_json);
foreach ($data['offers']['products] as $product) {
echo $product['title'];
}
這就是您在網(wǎng)站上顯示數(shù)據(jù)的方式。
如果你想用 html 和 css 樣式顯示數(shù)據(jù):
首先我要做的是復制 html 組件,如引導卡、行、列等。
然后將其粘貼到變量上
$html = '<div>
<h1>here goes my div</h1>
<img src="here/goes/your/url.png" />
<p>Description</p>
</div>';
然后,將虛擬數(shù)據(jù)替換為 foreach 數(shù)組中您自己的數(shù)據(jù):
$data = json_decode($raw_json);
foreach ($data['offers']['products'] as $product) {
$html = '<div>
<h1>'.$product['title'].'</h1>
<img src="'.$product['imageUrl'].'" />
<p>'.$product['normalPrice'].'</p>
</div>';
}
最后使用echo來渲染組件
$data = json_decode($raw_json);
foreach ($data['offers']['products'] as $product) {
$html = '<div>
<h1>'.$product['title'].'</h1>
<img src="'.$product['imageUrl'].'" />
<p>'.$product['normalPrice'].'</p>
</div>';
echo $html;
}

TA貢獻1797條經(jīng)驗 獲得超6個贊
是的,您可以使用 php 中的 json_decode 將 json 對象轉換為 php 結構,這會將 json 轉換為像這樣的 php 數(shù)組。
$json?=?'{"a":1,"b":2,"c":3,"d":4,"e":5}'; json_decode($json)
輸出將是這樣的。
object(stdClass)#1?(5)?{["a"]?=>?int(1) ["b"]?=>?int(2) ["c"]?=>?int(3) ["d"]?=>?int(4) ["e"]?=>?int(5)
}
之后,您必須使用遞歸函數(shù)或 foreach 來讀取對象,然后獲取并打印您需要的信息。
- 3 回答
- 0 關注
- 201 瀏覽
添加回答
舉報