Archive.org JSON文档:http://archive.org/help/json.php
我正在使用以下网址:https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran
json格式按此顺序显示
036.mp3
016.mp3
但是,详细信息页面上的实际订单是
001.mp3
002.mp3
详细信息页面:https://archive.org/details/AhmedAlajmiTheCompleteHolyQuran
如何获取详细信息页面中显示的上传者排序顺序。 json如何以其他格式排序。我可以根据数字对URL进行排序,但文件名并不总是按数字排序。
这是我到目前为止所拥有的。它只是获取mp3网址。但是订单错误!
var urlJ = "https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran";
function functionName() {
var url = "https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran";
var details = "https://archive.org/download/AhmedAlajmiTheCompleteHolyQuran";
function jsonpCallback(response) {
//after success some staff
var files = response.files;
for(var i=0; i < files.length; i++){
if(files[i].source == "original"){
console.log(details + "/" + files[i].name);
}
}
console.log(response.files[0]);
}
$.ajax({
url: url,
dataType: 'jsonp',
error: function(xhr, status, error) {
alert(error.message);
},
success: jsonpCallback
});
return false;
}
functionName();
最佳答案
无法使用提供的API对其进行排序,但是元数据提供了一条数据,您可以自己对它进行排序。
mtime-Unix样式的文件时间戳
因此,您可以使用JavaScript对其进行排序(在提取response.files之后立即输入):
var files = response.files;
for (var i = files.length - 1; i >= 0; i--)
if (typeof files[i].mtime === 'undefined')
files.splice(i, 1);
files.sort(function(a, b) {
return a.mtime - b.mtime;
});
另外,如果您仅提取文件,则可以仅通过以下方式请求文件:
https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran/files
当我运行代码时:
关于javascript - 使用json从archive.org获取音频文件URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31497694/