Tengo un objeto javascript que se ha analizado utilizando JSON JSON.parse. Ahora quiero imprimir el objeto para poder depurarlo (algo funciona mal con la función). Cuando hago lo siguiente ...
for (property in obj) {
output += property + ': ' + obj[property]+'; ';
}
console.log(output);
Obtengo varios [Object Object] en la lista. Me pregunto cómo imprimiría esto para ver el contenido.
javascript
json
parsing
printing
Skizit
fuente
fuente

Respuestas:
La mayoría de las consolas de depuración admiten la visualización directa de objetos. Solo usa
Dependiendo de su depurador, lo más probable es que muestre el objeto en la consola como un árbol colapsado. Puede abrir el árbol e inspeccionar el objeto.
fuente
console.log("object: " + obj)no muestra el objeto, sino que generará "object: [Object obj]".console.log("object: %O", obj)(Chrome) oconsole.log("object: %o", obj)(Firefox | Safari) le dará acceso a los detalles del objeto, vea mi respuesta a continuación.console.log("My object: ", obj)¿Sabes qué significa JSON? Notación de objetos JavaScript . Tiene un formato bastante bueno para los objetos.
JSON.stringify(obj)le devolverá una representación de cadena del objeto.fuente
intente en
console.dir()lugar deconsole.log()MDN dice que
console.dir()es compatible con:fuente
console.dir()también está disponible en FF8 +, Opera, Chrome y Safari: developer.mozilla.org/en-US/docs/Web/API/console.dirSi desea un JSON bonito y de varias líneas con sangría, puede usarlo
JSON.stringifycon su tercer argumento:Por ejemplo:
o
le dará el siguiente resultado:
En un navegador
console.log(obj)funciona aún mejor, pero en una consola de shell (node.js) no lo hace.fuente
para imprimir el objeto analizado JSON simplemente escriba
console.log( JSON.stringify(data, null, " ") );y obtendrá una salida muy clara
fuente
Usar formatos de cadena;
Chrome tiene especificadores de formato con lo siguiente;
%sFormatea el valor como una cadena.%do%iFormatea el valor como un entero.%fFormatea el valor como un valor de coma flotante.%oFormatea el valor como un elemento DOM expandible (como en el panel Elementos).%OFormatea el valor como un objeto JavaScript expandible.%cFormatea la cadena de salida de acuerdo con los estilos CSS que proporcione.Firefox también tiene Substitions de cadena que tienen opciones similares.
%oEmite un hipervínculo a un objeto JavaScript. Al hacer clic en el enlace, se abre un inspector.%do%iEmite un entero. El formato aún no es compatible.%sEmite una cadena.%fEmite un valor de punto flotante. El formato aún no es compatible.Safari tiene formateadores de estilo printf
%do%ientero%[0.N]fValor de coma flotante con N dígitos de precisión%oObjeto%sCuerdafuente
Agradable y simple:
fuente
Solo usa
y obtendrás esto en la consola de Chrome:
fuente
Función simple para alertar el contenido de un objeto o una matriz.
Llame a esta función con una matriz o cadena o un objeto que alerta los contenidos.
Función
Uso
fuente
El siguiente código mostrará datos completos de json en el cuadro de alerta
fuente
Si desea depurar, ¿por qué no utilizar la depuración de la consola?
fuente
Si está trabajando en js en un servidor, solo un poco más de gimnasia es muy útil ... Aquí está mi ppos (pretty-print-on-server):
que hace un gran trabajo al crear algo que realmente puedo leer cuando escribo el código del servidor.
fuente
No sé cómo nunca se hizo oficialmente, pero agregué mi propio
jsonmétodo paraconsoleobjetar para imprimir registros en cadena:Muchas veces es necesario ver una versión en cadena de un Objeto porque imprimirlo como está (Objeto sin procesar) imprimirá una versión "en vivo" del objeto que se mutará a medida que el programa progresa, y no reflejará el estado del objeto en el punto de tiempo registrado, por ejemplo:
fuente