Neste artigo você vai aprender a como verificar se uma string é um JSON em JS, utilizando uma função que nós mesmos criaremos 🙂

verificar se uma string é um JSON capa

Fala programador(a), beleza? Bora aprender mais sobre JSON e JavaScript!

Podemos utilizar o método parse para nos ajudar com isso

Ele é um método que transforma string em JSON, então se conseguirmos fazer isso com sucesso, quer dizer que a string é um JSON válido

Veja a implementação da função:

const x = 'json falso'
const y = '{"json": "verdadeiro"}'

function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}

console.log(isJson(x)); // false
console.log(isJson(y)); // true

Utilizamos o bloco try catch para nenhum erro parar o nosso programa de funcionar

E aproveitamos o catch em si para validar JSON’s falsos

Se tudo der certo no parse, retornamos um true, provando que o dado é um JSON

Quer aprender tudo sobre JSON? Se liga neste vídeo:

Conclusão

Neste artigo você aprendeu a como verificar se uma string é um JSON em JS Vanilla

Criamos uma função customizada, que utiliza o método parse e tenta converter uma string em JSON

Se for bem sucedido, retorna true como resposta, ou seja, o dado é um JSON de fato

Caso contrário é retornado um false como resposta, o dado está em um formato inválido para ser um JavaScript Object Notation

Desta maneira conseguimos validar o dado que é enviado para a função de maneira correta

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Inscrever-se
Notificar de
guest

2 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários
Maicke

Eu criei um JSON basico na mão, porém quando rodei com a função deu false, mas quando vou em validadores ele da como JSON mesmo, se alguem souber explicar o porque gostaria de saber o JSON é esse

{
    "cliente": {
        "id": 2020,
        "nome": "Maria Aparecida"
    },
    "pagamentos": [
        {
            "id": 123,
            "descricacao": "Compra do livro Cangaceiro JavaScript",
            "valor": 50.5
        },
        {
            "id": 124,
            "descricacao": "Mensalidade escolar",
            "valor": 1500
        }
    ]
}
Battisti

opa Maicke, é só transformar seu objeto em string com o JSON.stringify que vai dar true…