Estou usando fetch polyfill para recuperar um JSON ou texto de um URL. Quero saber como posso verificar se a resposta é um objeto JSON ou apenas texto
fetch(URL, options).then(response => {
// how to check if response has a body of type json?
if (response.isJson()) return response.json();
});
javascript
json
fetch-api
Sibelius Seraphini
fonte
fonte
Respostas:
Você pode verificar o
content-type
da resposta, conforme mostrado neste exemplo de MDN :Se você precisar ter certeza absoluta de que o conteúdo é um JSON válido (e não confiar nos cabeçalhos), poderá apenas aceitar a resposta como
text
e analisá-la você mesmo:Assíncrono / aguardar
Se estiver usando
async/await
, você pode escrever de uma forma mais linear:fonte
Use um analisador JSON como JSON.parse:
fonte