Convertir Un Objet En Json Javascript

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

Une structure circulaire est un objet qui se réfère à lui-même. Dans l’exemple suivant, l’objet (obj) est référencé comme la valeur de la clé d’emplacement.

Comme XML, JSON (JavaScript Object Notation) est utilisé pour le stockage et l’échange de données. JSON est beaucoup plus facile à analyser ou à diviser que XML et est de préférence utilisé lors de la conversion d’objets en chaaînes avec la méthode JSON.stringify ().

Erreur lors de la conversion de structures circulaires en JSON

JSON ne prend pas en charge les références d’objets, donc tenter de chaaîner un objet JSON qui se référence lui-même entraaînera une faute de frappe. Il s’agit d’une erreur qui peut être générée lorsque vous essayez de modifier une valeur qui ne peut pas être modifiée ou lorsque vous utilisez une valeur de manière inappropriée.

< figure class = "wp-block-image"> Screenshot 402

Solutions possibles

JSON.chaaîne ify () convertit non seulement les objets acceptables en chaaînes, il contient également un paramètre de remplacement qui peut remplacer les valeurs si la fonction transmise est spécifiée pour le faire. Analysons le code ci-dessous pour comprendre comment cela se produit.

Dans notre replacerFunc ci-dessus, nous appelons l’objet WeakSet, qui est un objet qui stocke des objets l√¢ches ou des références à des objets. Chaque objet d’un WeakSet ne peut apparaaître qu’une seule fois, filtrant ainsi les données répétées ou circulaires. Le mot-clé new est un opérateur qui crée un objet vide.

Dans notre instruction return, nous avons imbriqué les instructions if. Notre première instruction if utilise l’opérateur typeof qui renvoie le type de primitive (Undefined, Null, Boolean, Number, String, Function, BigInt, Symbol) à évaluer.

Si notre type de valeur est strictement égal à un objet et que la valeur de cet objet n’est pas nulle, il continuera sur la seconde instruction if, en vérifiant si la valeur est dans le WeakSet () .

Lorsque nous invoquons JSON.stringify (), nous transmettons à la fois notre structure circulaire d’origine et notre fonction de remplacement.

Cela nous donnera le résultat de chaaîne souhaité dans la console.

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

D’autres solutions possibles pour cette erreur consistent à utiliser des bibliothèques telles que circular-json , qui est un analyseur JSON circulaire, ou cycle.js , créé pour les utilisateurs d’IE8.

Circular JSON sérialise et désérialise des objets JSON par ailleurs valides contenant des références circulaires vers et depuis un format JSON spécialisé.

Conclusion

JSON ne prend pas en charge les références d’objet, Donc, si vous essayez de chaaîner un objet JSON qui se référence lui-même, une faute de frappe se produira.

Une structure circulaire est un objet qui se réfère à lui-même. Pour pouvoir chaaîner de tels objets, les développeurs peuvent utiliser le paramètre replacer dans la méthode stringify(), en s’assurant que la fonction passée filtre les données répétées ou circulaires.

L’utilisation de bibliothèques telles que circular-json peut également être une solution à cette erreur.