¿Imprimir contenido del objeto JavaScript? [duplicar]

Resuelto cometta asked hace 14 años • 15 respuestas

Normalmente, si solo lo usamos, alert(object);se mostrará como [object Object]. ¿Cómo imprimir todos los parámetros de contenido de un objeto en JavaScript?

cometta avatar Oct 26 '09 21:10 cometta
Aceptado

Esto le dará un resultado muy bueno con un objeto JSON sangrado usando JSON.stringify:

alert(JSON.stringify(YOUR_OBJECT_HERE, null, 4));

El segundo argumento ( replacer) altera el contenido de la cadena antes de devolverla.

El tercer argumento ( space) especifica cuántos espacios usar como espacios en blanco para facilitar la lectura.

JSON.stringifydocumentación aquí .

Igor Jerosimić avatar Dec 23 '2011 00:12 Igor Jerosimić

Si está utilizando Firefox, alert(object.toSource())debería ser suficiente para propósitos simples de depuración.

Lukman avatar Oct 26 '2009 14:10 Lukman

Además de utilizar un depurador, también puedes acceder a todos los elementos de un objeto mediante un foreachbucle. La siguiente printObjectfunción debería alert()mostrar su objeto todas las propiedades y sus valores respectivos.

function printObject(o) {
  var out = '';
  for (var p in o) {
    out += p + ': ' + o[p] + '\n';
  }
  alert(out);
}

// now test it:
var myObject = {'something': 1, 'other thing': 2};
printObject(myObject);

Es preferible utilizar una herramienta de inspección DOM porque le permite profundizar en las propiedades que son objetos en sí. Firefox tiene FireBug, pero todos los demás navegadores principales (IE, Chrome, Safari) también tienen herramientas de depuración integradas que debes verificar.

Miguel Ventura avatar Oct 26 '2009 14:10 Miguel Ventura

Si solo desea tener una representación de cadena de un objeto, puede usar la JSON.stringifyfunción, usando una biblioteca JSON .

Christian C. Salvadó avatar Oct 26 '2009 14:10 Christian C. Salvadó

Puede utilizar util.inspect(object) de Node para imprimir la estructura del objeto.

Es especialmente útil cuando su objeto tiene dependencias circulares, por ejemplo

$ node

var obj = {
   "name" : "John",
   "surname" : "Doe"
}
obj.self_ref = obj;

util = require("util");

var obj_str = util.inspect(obj);
console.log(obj_str);
// prints { name: 'John', surname: 'Doe', self_ref: [Circular] }

En ese caso, JSON.stringify arroja una excepción:TypeError: Converting circular structure to JSON

Michal avatar Sep 06 '2013 09:09 Michal