我正在尝试解码json feed,但是我遇到了阵列问题。以下是我到目前为止的情况:
<?php
$json_url = "http://pf.tradetracker.net/?aid=190906&encoding=utf-8&type=json&fid=541038&limit=10&categoryType=2&additionalType=2";
$json = file_get_contents($json_url);
$products = json_decode($json);
echo '<ul id="des_list">';
foreach ($products as $name => $value) {
echo '<li class="des_box">';
echo $products->object->name;
echo '</li>';
}
echo '</ul>';
echo "<pre>";
var_dump($products);
echo "</pre>";
?>
我似乎无法在我的foreach声明中生成任何输出,我在这里缺少什么?
以下是数据转储的一些输出:
object(stdClass)#1 (1) {
["products"]=>
array(10) {
[0]=>
object(stdClass)#2 (9) {
["ID"]=>
string(5) "32671"
["name"]=>
string(22) "All-inclusive i Alanya"
["price"]=>
object(stdClass)#3 (2) {
["currency"]=>
string(3) "DKK"
["amount"]=>
int(2619)
}
["URL"]=>
string(179) "http://tc.tradetracker.net/?c=14980&m=541038&a=190906&u=http%3A%2F%2Ftravelbird.dk%2F32671%2Fkahya-hotel-alanya%2F%3Fref%3DTradeTracker%26utm_medium%3Dcpl%26utm_source%3Dt_tracker"
["images"]=>
array(1) {
[0]=>
string(86) "http://d3skywhnyagvhv.cloudfront.net/thumbs/70/83/7083078c230c92177b1ff0fd9f57d7cf.jpg"
}
["description"]=>
string(129) "1 uge i Alanya med all-inclusive, fly tur-retur fra København inkl. indchecket bagage og transport mellem lufthavnen og hotellet"
["categories"]=>
array(0) {
}
["properties"]=>
object(stdClass)#4 (10) {
["country"]=>
array(1) {
[0]=>
string(7) "Tyrkiet"
}
["city"]=>
array(1) {
[0]=>
string(6) "Alanya"
}
["region"]=>
array(1) {
[0]=>
string(7) "Antalya"
}
["accommodationType"]=>
array(1) {
[0]=>
string(5) "hotel"
}
["address"]=>
array(1) {
[0]=>
string(52) "Saray Mh., 913. Sokak, 07400 Alanya/Antalya, Tyrkiet"
}
["fromPrice"]=>
array(1) {
[0]=>
string(7) "4299.00"
}
["descriptionLong"]=>
array(1) {
[0]=>
string(327) "Trætte af regn og slud? Så pak kufferten og forkæl krop og sjæl i Tyrkiets dejligste middelhavsby! Med dette ophold får I 8 dage i Alanya med fuld forplejning, fly tur-retur fra København, indchecket bagage og transport mellem lufthavnen og hotellet. I bor på et hyggeligt hotel med swimmingpool, boblebad og meget mere."
}
["transportType"]=>
array(1) {
[0]=>
string(6) "flight"
}
["duration"]=>
array(1) {
[0]=>
string(1) "8"
}
["subcategories"]=>
array(1) {
[0]=>
string(12) "sun holidays"
}
}
["variations"]=>
array(0) {
}
}
答案 0 :(得分:0)
$products
不包含产品,它包含整个响应对象。试试这个:
$data = json_decode($json);
$products = $data->products;
echo '<ul id="des_list">';
foreach ($products as $product) {
echo
'<li class="des_box">',
htmlspecialchars($product->name),
'</li>';
}
echo '</ul>';
答案 1 :(得分:0)
object(stdClass)#1 (1) {
["products"]=>
array(10) {
因此$products
是具有["products"]
属性的对象。这可以通过$products->products
$products->products
是一个数组,所以试试这个
foreach ($products->products as $value) {
echo '<li class="des_box">';
echo $value->name;
echo '</li>';
}