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