Convertir Objeto A Json Javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Una estructura circular es un objeto que se refiere a sí mismo. En el siguiente ejemplo, se hace referencia al objeto (obj) como el valor de la clave de ubicación.

Al igual que XML, JSON (Notación de objetos de JavaScript) se usa para el almacenamiento y el intercambio de datos. JSON es mucho más fácil de analizar o dividir que XML y se usa preferentemente al convertir objetos en cadenas con el método JSON.stringify ().

Error al convertir estructuras circulares a JSON

JSON no admite referencias a objetos, por lo que intentar encadenar un objeto JSON que hace referencia a sí mismo resultará en un error tipográfico. Este es un error que se puede generar cuando intentas cambiar un valor que no se puede cambiar o cuando usas un valor de manera inapropiada.

Screenshot 402

Posibles soluciones

JSON.chaaîne ify () convierte no solo los productos aceptables de las cadenas, sino que también contiene un parámetro de reemplazo que puede reemplazar los valores si la función transmitida se especifica para hacerlo. analice el código a continuación para comprender cómo sucede esto.

En nuestro replaceFunc aquí arriba, llame a WeakSet, que es un objeto que almacena objetos sueltos o referencias a objetos. Cada objeto de un WeakSet solo puede aparecer una vez, filtrando así repetidos o circulantes. datos r. La nueva palabra clave es un operador que crea un objeto vacío.

En nuestra declaración de retorno, anidamos las declaraciones if. Nuestra primera instrucción if usa el operador typeof que devuelve el tipo de primitivo (Indefinido, Nulo, Booleano, Número, Cadena, Función, BigInt, Símbolo) para evaluar.

Si nuestro tipo de valor es estrictamente igual a un objeto y el valor de ese objeto no es cero, continuará en el segundo declaración if, comprobando si el valor está en el WeakSet().

Cuando invocamos JSON.stringify (), pasamos tanto a nuestra estructura circular original como a nuestra función de reemplazo.

Esto nos dará el resultado de cadena deseado en la consola.

; "{" nombre ":" Juan "," edad ": 23," género ":" Hombre "}"

Otras posibles soluciones para este error son utilizar bibliotecas como como circular-json , que es un analizador JSON circular, o cycle.js , creado para usuarios de IE8.

JSON circular serializa y deserializa objetos JSON válidos que contienen referencias circulares hacia y desde un formato JSON especializado.

Conclusión

JSON no es compatible referencias a objetos, por lo que si intenta encadenar un objeto JSON que hace referencia a sí mismo, se producirá un error tipográfico.

Una estructura circular es un objeto que hace referencia a sí mismo. Para poder encadenar tales objetos, los desarrolladores pueden usar el parámetro replace en el método stringify (), asegurándose de que la función pasada filtre los datos repetidos o circulares.

Usin Las bibliotecas g como circular-json también pueden ser una solución a este error.