这个URL返回JSON:
{
query: {
count: 1,
created: "2015-12-09T17:12:09Z",
lang: "en-US",
diagnostics: {},
...
}
}
我试过了,但没有用:
responseObj = readJsonFromUrl('http://query.yahooapis.com/v1/publ...');
var count = responseObj.query.count;
console.log(count) // should be 1
如何从这个URL的JSON响应中获得JavaScript对象?
对于Chrome, Firefox, Safari, Edge和Webview,您可以本机使用fetch API,这使得这更容易,更简洁。
如果你需要对IE或更老的浏览器的支持,你也可以使用fetch polyfill。
let url = 'https://example.com';
fetch(url)
.then(res => res.json())
.then(out =>
console.log('Checkout this JSON! ', out))
.catch(err => { throw err });
MDN:获取API
即使Node.js没有内置这个方法,你也可以使用node-fetch来实现完全相同的实现。
作为@DanAlboteanu在本页的答案和javascript的一些错误纠正,我建议的代码是:
fetchRestaurants((error, data) => {
if (error)
console.log(error);
else
console.log(data)
});
and fetchRestaurants方法是(请将您的json url替换为{您的json数据url}):
function fetchRestaurants(callback) {
fetch("{your url of json data}")
.then(response => response.json())
.then(json => callback(null, json))
.catch(error => callback(error, null))
}