3 回答
TA贡献1963条经验 获得超6个赞
使用解码 JSON 后,json_decode您可以循环访问这样的项目(使用提供的代码作为示例):
// $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有第二个参数,您可以传递该参数true以确保它返回关联数组,这意味着您可以访问$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条经验 获得超2个赞
您需要在包含所需数据的数组内循环。
$data = json_decode($raw_json);
foreach ($data['offers']['products] as $product) {
echo $product['title'];
}
这就是您在网站上显示数据的方式。
如果你想用 html 和 css 样式显示数据:
首先我要做的是复制 html 组件,如引导卡、行、列等。
然后将其粘贴到变量上
$html = '<div>
<h1>here goes my div</h1>
<img src="here/goes/your/url.png" />
<p>Description</p>
</div>';
然后,将虚拟数据替换为 foreach 数组中您自己的数据:
$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条经验 获得超6个赞
是的,您可以使用 php 中的 json_decode 将 json 对象转换为 php 结构,这会将 json 转换为像这样的 php 数组。
$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)
}
之后,您必须使用递归函数或 foreach 来读取对象,然后获取并打印您需要的信息。
- 3 回答
- 0 关注
- 152 浏览
添加回答
举报