1

我的网站使用 XML 引入了购物 API,我想将其切换到使用 JSON 或 Atom 的 Google 购物 API。

我似乎无法弄清楚如何让以下内容在 JSON 或 Atom 中工作,非常感谢任何帮助。

$query = str_replace(' ', '%', $row['title']);

$url = "http://api-url-here.com/query?q='".$query."'%20AND%20currency%3AGBP&key=key-here&rows=8&start=0&format=xml";
$response = file_get_contents($url);
$xml = simplexml_load_string($response); 
//print_r($xml);


$recommended = Array();

for($i=0; $i<count($xml->products->product); $i++){
$item = Array(
$xml->products->product[$i]->merchant,
$xml->products->product[$i]->price,
$xml->products->product[$i]->url,
$xml->products->product[$i]->imageUrl,
$xml->products->product[$i]->title
);

array_push($recommended , $item);
}

$i = 0;
foreach($recommended as $item){
$i++;
$row['item'.$i.'-merch'] = (String) $item[0];
$row['item'.$i.'-price'] = (String) $item[1];
$row['item'.$i.'-url'] = (String) $item[2];
$row['item'.$i.'-img'] = (String) $item[3];
$row['item'.$i.'-title'] = (String) $item[4];
$row['more-products'] = "Recommended";
}

我为完整的菜鸟问题道歉,但我通常的开发人员正在度假,我对代码很陌生。

非常感谢任何帮助。

4

1 回答 1

0

您正在尝试像阅读 XML 一样阅读 JSON。那当然行不通。

我给你一个开始

$url = "http://api-url-here.com/query?q='".$query."'%20AND%20currency%3AGBP&key=key-  here&rows=8&start=0&format=xml";

$response = file_get_contents($url);
//So far so good
//instead of parsing xml, we are now parsing JSON.
$result= $json_decode ( $response ); 

我不知道你的 JSON 结构,所以我不能在这里帮助你,但如果项目存储在一个数组中,你可以像这样循环它们:

$items = $result->items;

foreach( $items as $item ){
    echo $item->name;
    echo $item->otherProperty
}
于 2014-05-23T08:45:53.637 回答