首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动循环API Json响应

问自动循环API Json响应
EN

Stack Overflow用户
提问于 2013-01-26 05:15:59
回答 1查看 234关注 0票数 0

我试图插入来自JSON API结果的所有结果,他们限制了每页最多200个结果,尽管他们提供了下一个要访问的url来获得下一个200个结果,但这里是API提供的结果的一个示例。

代码语言:javascript
复制
{
  "count": 200,
  "total": 31108,
  "nextUrl": "https://**/api/v1/***/orders?secure_auth_key=****&offset=200",
  "orders": [
    {
      "number": 40026,
      "paymentStatus": "ACCEPTED",
      etc....
    }
   ],
 }

下面是获取这200个结果并将其存储在mySQL中的当前代码

代码语言:javascript
复制
$url = "https://****/api/v1/***/orders?secure_auth_key=*****";
$json = file_get_contents($url, 0, null, null);
$result = json_decode($json, true)
foreach($result['orders'] as $order) {
   mysql_query("INSERT INTO blah blah");
}

我如何创建它,让它自动从下一个页面获取数据,例如: offset=200,并像我在第一个结果中所做的那样将所有数据添加到数据库中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-26 05:36:52

假设如果没有更多的结果,他们不会提供下一个200的URL,为什么不直接使用它作为检查。

例如:在保存之后,如果要检查最后的结果是否有下一个nexturl?

代码语言:javascript
复制
if(isset($result['nextUrl'])){
$url = $result['nextUrl'];
$json = file_get_contents($url, 0, null, null);
$result = json_decode($json, true)
foreach($result['orders'] as $order) {
   mysql_query("INSERT INTO blah blah");


}
}

理想情况下,将其移动到您可以在需要的地方连续调用的函数中……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14530518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档