Maison > interface Web > js tutoriel > Comment gérer les structures circulaires lors de la conversion d'objets en JSON dans Node.js ?

Comment gérer les structures circulaires lors de la conversion d'objets en JSON dans Node.js ?

Barbara Streisand
Libérer: 2024-12-21 18:50:10
original
822 Les gens l'ont consulté

How to Handle Circular Structures When Converting Objects to JSON in Node.js?

Structures circulaires dans la sérialisation JSON

Lorsque vous rencontrez des structures circulaires lors de la conversion d'objets en JSON, la fonction JSON.stringify() provoque une "TypeError : Conversion de la structure circulaire en JSON" ou erreur "TypeError : valeur d'objet cyclique". Pour résoudre ce problème, vous pouvez supprimer les références circulaires et chaîner les données restantes.

Dans Node.js, le module utilitaire intégré fournit la méthode util.inspect(object). Cette fonction remplace automatiquement les références circulaires par "[Circulaire].".

Importation du module

Avant d'utiliser la méthode, vous devez l'importer :

import * as util from 'util';
Copier après la connexion

Utilisation

Pour utiliser la méthode, passez simplement l'objet à inspecté :

console.log(util.inspect(myObject));
Copier après la connexion

Options

Vous pouvez également passer un objet d'options optionnel pour personnaliser l'inspection :

inspect(myObject[, options: {showHidden, depth, colors, showProxy, ...moreOptions}]);
Copier après la connexion

Exemple

Compte tenu de ce qui suit object :

var obj = {
  a: "foo",
  b: obj
};
Copier après la connexion

À l'aide de util.inspect, vous pouvez chaîner l'objet comme suit :

util.inspect(obj);
Copier après la connexion

Cela produira la sortie suivante de type JSON :

{ a: 'foo', b: '[Circular]' }
Copier après la connexion

Vous pouvez désormais envoyer l'objet sérialisé en toute sécurité sans rencontrer d'erreurs de référence circulaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal