¿Imprimir contenido del objeto JavaScript? [duplicar]
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?
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.stringify
documentación aquí .
Si está utilizando Firefox, alert(object.toSource())
debería ser suficiente para propósitos simples de depuración.
Además de utilizar un depurador, también puedes acceder a todos los elementos de un objeto mediante un foreach
bucle. La siguiente printObject
funció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.
Si solo desea tener una representación de cadena de un objeto, puede usar la JSON.stringify
función, usando una biblioteca JSON .
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