Javascript 如何从分页JSON中提取数据
我说一页有300个项目10个。页面加载JSON数据,限制为10(无法更改) 我想翻阅30多页,把每一项都列出来Javascript 如何从分页JSON中提取数据,javascript,json,pagination,fetch,Javascript,Json,Pagination,Fetch,我说一页有300个项目10个。页面加载JSON数据,限制为10(无法更改) 我想翻阅30多页,把每一项都列出来 url.com/api/some-name?page=1 etc 理想情况下,脚本将使用上述URL作为规则,并以1为增量进行清理,直到填充每个页面的所有10个URL 这能做到吗?我该怎么做呢?任何关于这方面的建议或帮助都将极大地帮助我学习和研究人们建议的方法 const getInfo = async function(pageNo) { const jsonUrl = "https
url.com/api/some-name?page=1 etc
理想情况下,脚本将使用上述URL作为规则,并以1为增量进行清理,直到填充每个页面的所有10个URL
这能做到吗?我该怎么做呢?任何关于这方面的建议或帮助都将极大地帮助我学习和研究人们建议的方法
const getInfo = async function(pageNo) {
const jsonUrl = "https://website.com/api/some-title";
let actualUrl = jsonUrl + `?page=${pageNo}`;
let jsonResults = await fetch(actualUrl).then(response => {
return response.json();
});
return jsonResults;
};
const getEntireList = async function(pageNo) {
const results = await getInfo(pageNo);
console.log("Retreiving data from API for page:" + pageNo);
if (results.length > 0) {
return results.concat(await getEntireList(pageNo));
} else {
return results;
}
};
(async () => {
const entireList = await getEntireList();
console.log(entireList);
})();
我可以在你的代码中看到一些问题
constEntireList=wait getEntireList(1)代码>
results.concat()
可能不会达到预期效果json()
返回一个对象、列表或值(取决于服务器),而结果将属于这些类型之一concat()
对字符串进行操作;因此调用json()
是(充其量)冗余的
与我们分享你试图解决这个问题的方法。嗨@IslamElshobokshy,我已经用我到目前为止的方法更新了这篇文章。