const container = document.querySelector("#container");
request.open("GET","https://datausa.io/api/data?drilldowns=Nation&measures=Population") ;
request.send();
// to get the response
request.addEventListener("load",function(){
// console.log( this.responseText);
const [data]= JSON.parse(this.responseText);
console.log(data);
// const htmlData ="<div></div>";
// container.insertAdjacentHTML("afterbegin",htmlData)
})
I am getting error in JSON.parse(this.responseText) the above mentioned error is for this line,please help me solve it
You don't need [] or {} surrounding data. Just data is enough in this case.
const data = JSON.parse(this.responseText);
The call returns this:
{"data":[{"ID Nation":"01000US","Nation":"United States","ID Year":2019,"Year":"2019","Population":328239523,"Slug Nation":"united-states"},{"ID Nation":"01000US","Nation":"United States","ID Year":2018,"Year":"2018","Population":327167439,"Slug Nation":"united-states"},{"ID Nation":"01000US","Nation":"United States","ID Year":2017,"Year":"2017","Population":325719178,"Slug Nation":"united-states"},{"ID Nation":"01000US","Nation":"United States","ID Year":2016,"Year":"2016","Population":323127515,"Slug Nation":"united-states"},{"ID Nation":"01000US","Nation":"United States","ID Year":2015,"Year":"2015","Population":321418821,"Slug Nation":"united-states"},{"ID Nation":"01000US","Nation":"United States","ID Year":2014,"Year":"2014","Population":318857056,"Slug Nation":"united-states"},{"ID Nation":"01000US","Nation":"United States","ID Year":2013,"Year":"2013","Population":316128839,"Slug Nation":"united-states"}],"source":[{"measures":["Population"],"annotations":{"source_name":"Census Bureau","source_description":"The American Community Survey (ACS) is conducted by the US Census and sent to a portion of the population every year.","dataset_name":"ACS 1-year Estimate","dataset_link":"http://www.census.gov/programs-surveys/acs/","table_id":"B01003","topic":"Diversity","subtopic":"Demographics"},"name":"acs_yg_total_population_1","substitutions":[]}]}
And as you can see this is an object not an array, so to get data key from the object you need to use curly brackets instead of normal brackets.
Like this:
const {data} = JSON.parse(this.responseText);