使用javascript和GET请求从api url提取JSON数据的最佳方法是什么?

使用javascript和GET请求从api url提取JSON数据的最佳方法是什么?,javascript,json,ajax,eclipse,get,Javascript,Json,Ajax,Eclipse,Get,我遇到了一个难题,试图弄清楚如何向发送请求,并能够从返回的包含音乐事件信息的JSON页面中提取一些元素(datetime和Venture latitude and latitude)。我对JavaScript和web开发相当陌生,因此非常感谢您的帮助!我用作请求的URL是: 在这里,我将实现灵活性,以更改名为的艺术家 我不确定是否应该在url中添加“callback=something”参数。我已经通过Node.js查看了“requests”库,但我不完全确定如何让Node.js和npm通过Ec

我遇到了一个难题,试图弄清楚如何向发送请求,并能够从返回的包含音乐事件信息的JSON页面中提取一些元素(datetime和Venture latitude and latitude)。我对JavaScript和web开发相当陌生,因此非常感谢您的帮助!我用作请求的URL是:

在这里,我将实现灵活性,以更改名为的艺术家


我不确定是否应该在url中添加“callback=something”参数。我已经通过Node.js查看了“requests”库,但我不完全确定如何让Node.js和npm通过EclipseNeon(我正在使用的IDE)工作,所以我真的试图让它简单明了,并找到一个纯javascript解决方案,可以直接在Eclipse中的脚本中实现。我只是不太明白如何提取JSON,然后在我的脚本中调用它作为
results[0]。vention.latitude
(以返回vention的纬度)或调用任何“results”对象(这也是我的问题的一部分)。我甚至需要将这些信息放入对象中吗?

除了像这样的异步HTTP请求之外,我还使用了JSON.parse()

function httpGetAsync(theUrl, callback) { //theURL or a path to file
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
    if (httpRequest.readyState == 4 && httpRequest.status == 200) {
        var data = JSON.parse(httpRequest.responseText);
        if (callback) {
            callback(data);
        }                   
    }
};

httpRequest.open('GET', theUrl, true); 
httpRequest.send(null);
}
并称之为:

httpGetAsync(url, function(data) {
document.write(data[0].venue.latitude);
document.write(data[0].venue.longitude);
document.write(data[0].datetime);
});

然而,这个方法只允许我对api进行一次干净的调用。当我尝试使用一个使用不同URL调用函数的循环进行多次调用时,我的脚本似乎在第一次调用之后终止。所以这仍然是我的应用程序的一个问题。

所以您正在等待能够解析返回的数据,将其视为JSON对象而不是大字符串?是的,我认为是这样。任何允许我访问api url JSON文档中特定值的内容。我不知道如何导入和保存单个值。导入和保存单个值将取决于代码的布局以及何时访问返回的数据,但是JSON.parse()可能会帮助您。感谢您,我使用了您的建议(我添加了
var data=JSON.parse(httpRequest.responseText);
)而且效果很好!你们中的一个应该发布一个答案并接受它。另外@crispEtomE下次您提问时,请展示您已经使用的代码,以便我们可以在上下文中提供答案。