Este es el método adecuado para saber y/o comprobar si una cadena es un JSON válido en JavaScript, así evitaremos posibles errores de formato o trabajar con datos erróneos.

La lógica es sencilla, en el código comprobamos si la función «JSON.parse(str)» origina algún error o si devuelve un objeto como se espera en el caso de un JSON válido.

<script>
    
    //Function is_json.
    function is_json(str) {
        try {
            JSON.parse(str);
        } catch (e) {
            return false;
        }
        return true;
    }
    
    //Check Json.
    var jsonString = '{ "Id": 1, "Nombre": "Adrian" }';

    if(is_json(jsonString)){
        
        alert("Es Json.");
        
    }else{
        
        alert("No es Json.");
        
    }
    
</script>
Código en vivo

Si te ha sido de utilidad ¡deja un comentario! 🙂