我正在尝试使用chinavasion.com的API填充我的网站产品。我已经成功获取某个类别下的产品列表,但响应JSON只提供10个产品和分页,我实际上不知道如何使用,我猜测它可能是限制产品列表的一个回应' d?
以下是JSON响应示例:
{
"products": [
{
"product_id": 19433,
"model_code": "CVABR-C405",
"short_product_name": "13.3 Inch Roof Mounted Car Monitor ",
"product_url": "http://www.chinavasion.com/china/wholesale/Car_Video/Roof_Monitors/13.3-Inch-Roof-Mounted-Car-Monitor/",
"category_name": "Car Video",
"category_url": "http://www.chinavasion.com/china/wholesale/Car_Video/",
"subcategory_name": "Roof Monitors",
"status": "In Stock"
},
.... and 9 more.
"pagination": {
"start": 0,
"count": 10,
"total": 53
}
}
到目前为止,这是我的PHP,我只想回复所有项目的所有简短产品名称,事情是我只得到10个项目,但总共有53个项目。 (可以在样本JSON响应分页总数上看到)
<?php
$API_KEY = '4rxVx5-bxo7ldVQ5GcPSmX8XeqcSZoTnJnxF7xhRr8g.';
$url = "https://secure.chinavasion.com/api/getProductList.php";
$data = array(
'key' => $API_KEY,
'categories' => array('Car Video')
);
$content = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
$response = json_decode($json_response, true);
foreach($response['products'] as $res)
{
echo $res['short_product_name'],'<br />';
}
?>
那么有没有办法在此时获取其他43种产品?我不确定它是否可能,因为我对编程非常陌生并且以前没有做过JSON,希望你们能帮助我。
答案 0 :(得分:4)
该分页数组用于表示有更多项目。您只需传递一个<New id="DS" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>OracleDS</Arg>
<Arg>
<New class="oracle.ucp.jdbc.PoolDataSourceImpl">
<Set name="URL">jdbc:oracle:thin:@abc.corp.com:1234:xyz</Set>
<Set name="user">owner</Set>
<Set name="password”>pwd</Set>
<Set name="connectionFactoryClassName">oracle.jdbc.pool.OracleDataSource</Set>
<Set name="minPoolSize">0</Set>
<Set name="maxPoolSize">10</Set>
<Set name="inactiveConnectionTimeout">300</Set>
<Set name="maxStatements">200</Set>
<Set name="maxConnectionReuseCount">150</Set>
<Set name="connectionWaitTimeout">9</Set>
<Set name="abandonedConnectionTimeout">30</Set>
<Set name="validateConnectionOnBorrow">true</Set>
<Set name="SQLForValidateConnection">SELECT SYSDATE FROM DUAL</Set>
</New>
</Arg>
</New>
变量即可获得下一个10.将其视为SQL中的偏移量。
答案 1 :(得分:2)
接下来的10个项目:
$('div').filter('.' + target).addClass('active');
更改'pagination'=&gt; 'start'参数可以设置起始项索引。
修改强> 你必须在'pagination'数组中插入'start'参数。 另一种方法是将'count'参数设置为一个大数字。这样,您只需一次通话即可收到所有项目
$API_KEY = '4rxVx5-bxo7ldVQ5GcPSmX8XeqcSZoTnJnxF7xhRr8g.';
$url = "https://secure.chinavasion.com/api/getProductList.php";
$data = array(
'key' => $API_KEY,
'categories' => array('Car Video'),
'pagination' => array('start' => 10)
);
$content = json_encode($data);