Converti Oggetto In Json Javascript

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

Una struttura circolare è un oggetto che fa riferimento a se stesso. Nell`esempio seguente, all`oggetto (obj) viene fatto riferimento come valore della chiave di posizione.

Come XML, JSON (JavaScript Object Notation) viene utilizzato per l`archiviazione e lo scambio di dati. JSON è molto più facile da analizzare o dividere rispetto a XML e viene preferibilmente utilizzato durante la conversione di oggetti in stringhe con il metodo JSON.stringify().

Errore durante la conversione di strutture circolari in JSON

JSON non supporta i riferimenti agli oggetti, quindi il tentativo di concatenare un oggetto JSON che fa riferimento a se stesso risulterà in un errore di battitura. Questo è un errore che può essere generato quando si tenta di modificare un valore che non può essere modificato o quando si utilizza un valore in modo inappropriato.

Screenshot 402

Possibili soluzioni

JSON.chaaîne ify() converte non solo i prodotti accettabili delle catene, ma contiene anche un parametro di sostituzione che può sostituire i valori se la funzione trasmessa è specificata per farlo. analizza il codice seguente per capire come ciò accade.

Nel nostro replaceFunc qui sopra, noi call WeakSet , che è un oggetto che memorizza oggetti sciolti o riferimenti a oggetti. Ogni oggetto di un WeakSet può apparire solo una volta, filtrando così ripetuti o circolari dati. La nuova parola chiave è un operatore che crea un oggetto vuoto.

Nella nostra istruzione return, abbiamo annidato le istruzioni if. La nostra prima istruzione if utilizza l`operatore typeof che restituisce il tipo di primitiva (Undefined, Null, Boolean, Number, String, Function, BigInt, Symbol) da valutare.

Se il nostro tipo di valore è strettamente uguale a un oggetto e il valore di quell`oggetto non è zero, continuerà sul secondo if, verificando se il valore è nel WeakSet().

Quando invochiamo JSON.stringify (), passiamo sia alla nostra struttura circolare originale che alla nostra funzione di sostituzione.

Questo ci darà il risultato della stringa desiderato nella console.

; "{" name ":" John "," age ": 23," gender ":" Male "}"

Altre possibili soluzioni per questo errore sono l`utilizzo di librerie come come circular-json , che è un parser JSON circolare, o cycle.js , creato per gli utenti di IE8.

JSON circolare serializza e deserializza oggetti JSON altrimenti validi contenenti riferimenti circolari da e verso un formato JSON specializzato.

Conclusione

JSON non supporta riferimenti a oggetti, quindi se provi a concatenare un oggetto JSON che fa riferimento a se stesso, si verificherà un errore di battitura.

Una struttura circolare è un oggetto che fa riferimento a se stesso. Per essere in grado di concatenare tali oggetti, gli sviluppatori possono utilizzare il parametro replace nel metodo stringify(), assicurandosi che la funzione passata filtri i dati ripetuti o circolari.

Usin Anche le librerie g come circular-json possono essere una soluzione a questo errore.