Question Comment puis-je afficher un objet JavaScript?


Comment puis-je afficher le contenu d'un objet JavaScript dans un format de chaîne comme lorsque nous alert une variable?

La même manière formatée je veux afficher un objet.


1256
2018-06-05 19:01


origine


Réponses:


Avec Firefox

Si vous voulez imprimer l'objet à des fins de débogage, je suggère plutôt d'installer Firebug pour Firefox et en utilisant le code:

console.log(obj)

Avec Chrome

var obj = {prop1: 'prop1Value', prop2: 'prop2Value', child: {childProp1: 'childProp1Value'}}
console.log(obj)

Affichera

screenshot console chrome

Remarque : vous devez seulement connectez l'objet. Par exemple, cela ne fonctionnera pas:

console.log('My object : ' + obj)

750
2018-06-05 19:15



Utiliser natif JSON.stringify méthode. Fonctionne avec des objets imbriqués et tous les principaux navigateurs soutien cette méthode.

str = JSON.stringify(obj);
str = JSON.stringify(obj, null, 4); // (Optional) beautiful indented output.
console.log(str); // Logs output to dev tools console.
alert(str); // Displays output using window.alert()

Lié à Référence de l'API Mozilla et d'autres exemples.

obj = JSON.parse(str); // Reverses above operation (Just in case if needed.)

Utiliser une coutume JSON.stringify remplaçant si tu rencontrer cette erreur Javascript

"Uncaught TypeError: Converting circular structure to JSON"

1720
2017-11-27 17:52



var output = '';
for (var property in object) {
  output += property + ': ' + object[property]+'; ';
}
alert(output);

367
2018-06-05 19:18



console.dir(object):

Affiche une liste interactive des propriétés d'un objet JavaScript spécifié. Cette liste vous permet d'utiliser des triangles d'affichage pour examiner le contenu des objets enfants.

Notez que le console.dir() La fonctionnalité est non standard. Voir MDN Web Docs


95
2018-06-03 12:43



essaye ça :

console.log(JSON.stringify(obj))

Cela va imprimer la version stringify de l'objet. Donc, au lieu de [object] En tant que sortie, vous obtiendrez le contenu de l'objet.


66
2017-08-12 07:53



Eh bien, Firefox (merci à @Bojangles pour des informations détaillées) a Object.toSource() méthode qui imprime des objets en JSON et function(){}.

C'est suffisant pour la plupart des objectifs de débogage, je suppose.


64
2018-06-05 19:04



Si vous voulez utiliser l'alerte, pour imprimer votre objet, vous pouvez le faire:

alert("myObject is " + myObject.toSource());

Il devrait imprimer chaque propriété et sa valeur correspondante au format de chaîne.


51
2017-09-09 07:15