How can I get JSON from URL in JavaScript?

I’m trying to fetch JSON data from this URL:

http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D%27WRC%27&format=json&diagnostics=true&env=store://datatables.org/alltableswithkeys&callback

The response returns a JSON object like this:

{
  "query": {
    "count": 1,
    "created": "2015-12-09T17:12:09Z",
    "lang": "en-US",
    "diagnostics": {}
  }
}

I tried using readJsonFromUrl('http://query.yahooapis.com/v1/publ...'); but it didn’t work.

How can I correctly retrieve and parse the JSON from this URL in JavaScript?

You can fetch() method with async/await :

async function getData() {
  const response = await fetch('https://your-url.com');
  const json = await response.json();
  console.log(json);
}
getData();

The fetch() gets the response from the URL. The await response.json() parses it into a JavaScript object. It works best inside an async function.

fetch() with .then() for older codebases is useful if you’re not using async/await. It’s clean and handles errors with .catch().

fetch('https://your-url.com')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

If jQuery is already loaded, you can use its shorthand AJAX methods for convenient data fetching.

$.getJSON('https://your-url.com', function(data) {
  console.log(data);
});

$.getJSON() is a shorthand AJAX call in jQuery that handles JSON parsing automatically. Use only if your project includes jQuery.