JavaScript | Comprobar si una string es una string JSON válida

Para verificar la validez de una string, ya sea una string JSON o no, usamos el método JSON.parse() con algunas variaciones.
JSON.parse()
Este método analiza una string JSON, construye el valor u objeto de JavaScript especificado por la string. Se puede proporcionar una función reviver para hacer un cambio en el objeto resultante antes de que se devuelva.
Sintaxis:

JSON.parse(text[, revr])

parámetros:

  • texto: Este parámetro es obligatorio. Especifica la string que se analizará como JSON.
  • revr: Este parámetro es opcional. Especifica cómo se transforma el valor original producido por la función antes de devolverlo.

Valor devuelto: Objeto correspondiente al texto JSON proporcionado.

Ejemplo-1: este ejemplo verifica la validez de la string JSON mediante el método JSON.parse() mediante la creación de una función.

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JavaScript | 
      Check if a string is a valid JSON string.
    </title>
</head>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP" style="color:green;">
    </p>
    <button onclick="gfg_Run()">
        check
    </button>
    <p id="GFG_DOWN" style="color:green; 
                            font-size: 20px;">
    </p>
    <script>
        var el_up = 
            document.getElementById("GFG_UP");
        var el_down = 
            document.getElementById("GFG_DOWN");
        
        var string = 
            '{ "prop_1": "val_1", "prop_2": "val_2" }';
        el_up.innerHTML = string;
  
        function testJSON(text) {
            if (typeof text !== "string") {
                return false;
            }
            try {
                JSON.parse(text);
                return true;
            } catch (error) {
                return false;
            }
        }
  
        function gfg_Run() {
            el_down.innerHTML = testJSON(string);
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Ejemplo 2: este ejemplo devuelve falso porque el valor de la propiedad val_1 no es una string.

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JavaScript |
      Check if a string is a valid JSON string.
    </title>
</head>
  
<body style="text-align:center;" id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP"
       style="color:green;">
    </p>
    <button onclick="gfg_Run()">
        check
    </button>
    <p id="GFG_DOWN"
       style="color:green; font-size: 20px;">
    </p>
    <script>
        var el_up = document.getElementById("GFG_UP");
        var el_down = document.getElementById("GFG_DOWN");
        var string = '{ "prop_1": val_1, "prop_2": "val_2" }';
        el_up.innerHTML = string;
  
        function isJSON(str) {
            try {
                return (JSON.parse(str) && !!str);
            } catch (e) {
                return false;
            }
        }
  
        function gfg_Run() {
            el_down.innerHTML = isJSON(string);
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Ejemplo 3: este ejemplo devuelve verdadero al usar el método JSON.parse () junto con la verificación de tipos del texto.

<!DOCTYPE html>
<html>
  
<head>
    <title>
        JavaScript | 
      Check if a string is a valid JSON string.
    </title>
</head>
  
<body style="text-align:center;" 
      id="body">
    <h1 style="color:green;">  
            GeeksForGeeks  
        </h1>
    <p id="GFG_UP" style="color:green;">
    </p>
    <button onclick="gfg_Run()">
        check
    </button>
    <p id="GFG_DOWN" style="color:green;
                            font-size: 20px;">
    </p>
    <script>
        var el_up = document.getElementById("GFG_UP");
        var el_down = document.getElementById("GFG_DOWN");
        var string = '{ "prop_1": 1, "prop_2": "val_2" }';
        el_up.innerHTML = string;
  
        function isJSON(str) {
            try {
                return (JSON.parse(str) && !!str);
            } catch (e) {
                return false;
            }
        }
  
        function gfg_Run() {
            el_down.innerHTML = isJSON(string);
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *