We can check if a response of a fetch call is a JSON object with JavaScript by putting the fetch
call in a try-catch block and use JSON.parse
to parse the response string.
For instance, we can write:
const myFetch = async (myRequest) => {
try {
const response = await fetch(myRequest);
const text = await response.text();
const data = JSON.parse(text);
console.log(data)
} catch (err) {
console.log(err)
}
}
myFetch('https://yesno.wtf/api')
to create the myFetch
function with the myRequest
string parameter for the URL.
We pass myRequest
into fetch
to make the request
Then we call response.text
to get the response string.
Next, we call JSON.parse
with text
to try to parse the response string.
If it’s successful, data
should be assigned the parsed JSON object.
Otherwise, an error will be raised and err
is logged.