1257 votes

Comment puis-je obtenir l'objet complet dans la console.log() de Node.js, plutôt que '[Object]' ?

J'ai cet objet :

const myObject = {
   "a":"a",
   "b":{
      "c":"c",
      "d":{
         "e":"e",
         "f":{
            "g":"g",
            "h":{
               "i":"i"
            }
         }
      }
   }
};

Mais quand j'essaie de le montrer en utilisant console.log(myObject) je reçois ce message :

{ a: 'a', b: { c: 'c', d: { e: 'e', f: [Object] } } }

Comment puis-je obtenir l'objet complet, y compris le contenu de la propriété f ?

53voto

silverwind Points 1145

Depuis Node.js 6.4.0, cela peut être résolu de manière élégante avec util.inspect.defaultOptions :

require("util").inspect.defaultOptions.depth = null;
console.log(myObject);

30voto

lukewendling Points 959

Peut-être console.dir est tout ce dont vous avez besoin.

http://nodejs.org/api/console.html#console_console_dir_obj

Utilise util.inspect sur obj et imprime la chaîne résultante sur stdout.

Utilisez l'option util si vous avez besoin de plus de contrôle.

27voto

Erce Points 402

Ces deux usages peuvent être appliqués :

// more compact, and colour can be applied (better for process managers logging)
console.dir(queryArgs, { depth: null, colors: true });

// get a clear list of actual values
console.log(JSON.stringify(queryArgs, undefined, 2));

24voto

Ali Points 1597

Une bonne façon d'inspecter les objets est d'utiliser le noeud --inspecter option avec Chrome DevTools pour Node .

node.exe --inspect www.js

Abrir chrome://inspect/#devices dans chrome et cliquez sur DevTools dédiés ouverts pour Node

Maintenant, chaque objet enregistré est disponible dans l'inspecteur comme un JS normal fonctionnant dans chrome.

enter image description here

Il n'est pas nécessaire de rouvrir l'inspecteur, il se connecte automatiquement au nœud dès que celui-ci démarre ou redémarre. Les deux sites --inspecter y Chrome DevTools pour Node peut ne pas être disponible dans les anciennes versions de Node et de Chrome.

20voto

Eesa Points 1105

Vous pouvez également faire

console.log(JSON.stringify(myObject, null, 3));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X