Eu tenho um objeto javascript que foi analisado por JSON, JSON.parse
agora quero imprimir o objeto para que eu possa depurá-lo (algo está errado com a função). Quando eu faço o seguinte ...
for (property in obj) {
output += property + ': ' + obj[property]+'; ';
}
console.log(output);
Eu recebo vários [objetos] listados. Eu estou querendo saber como imprimir isso para visualizar o conteúdo?
javascript
json
parsing
printing
Skizit
fonte
fonte
Respostas:
A maioria dos consoles de depuração oferece suporte à exibição direta de objetos. Apenas use
Dependendo do seu depurador, isso provavelmente exibirá o objeto no console como uma árvore recolhida. Você pode abrir a árvore e inspecionar o objeto.
fonte
console.log("object: " + obj)
ele não exibe o objeto, mas gera "object: [Object obj]".console.log("object: %O", obj)
(Chrome) ouconsole.log("object: %o", obj)
(Firefox | Safari) fornecerá acesso aos detalhes do objeto, veja minha resposta abaixo.console.log("My object: ", obj)
Você sabe o que JSON significa? Notação de Objeto JavaScript . Faz um formato muito bom para objetos.
JSON.stringify(obj)
retornará uma representação em seqüência do objeto.fonte
tente em
console.dir()
vez deconsole.log()
MDN diz que
console.dir()
é suportado por:fonte
console.dir()
também está disponível no FF8 +, Opera, Chrome e Safari: developer.mozilla.org/en-US/docs/Web/API/console.dirSe você deseja um JSON bonito, de várias linhas com recuo, pode usar
JSON.stringify
com seu terceiro argumento:Por exemplo:
ou
lhe dará o seguinte resultado:
Em um navegador
console.log(obj)
, o trabalho é ainda melhor, mas em um console shell (node.js), não.fonte
imprimir objeto analisado JSON basta digitar
console.log( JSON.stringify(data, null, " ") );
e você obterá uma saída muito clara
fonte
Use formatos de string;
O Chrome possui especificadores de formato com o seguinte;
%s
Formata o valor como uma sequência.%d
ou%i
Formata o valor como um número inteiro.%f
Formata o valor como um valor de ponto flutuante.%o
Formata o valor como um elemento DOM expansível (como no painel Elementos).%O
Formata o valor como um objeto JavaScript expansível.%c
Formata a sequência de saída de acordo com os estilos CSS que você fornece.O Firefox também possui Substituições de String, que têm opções semelhantes.
%o
Produz um hiperlink para um objeto JavaScript. Clicar no link abre um inspetor.%d
ou%i
gera um número inteiro. A formatação ainda não é suportada.%s
Produz uma string.%f
Gera um valor de ponto flutuante. A formatação ainda não é suportada.O Safari possui formatadores de estilo printf
%d
ou%i
Inteiro%[0.N]f
Valor de ponto flutuante com N dígitos de precisão%o
Objeto%s
Cordafonte
Agradável e simples:
fonte
Apenas use
e você receberá isso no console chrome:
fonte
Função simples para alertar o conteúdo de um objeto ou matriz.
Chame essa função com uma matriz ou seqüência de caracteres ou um objeto que alerta o conteúdo.
Função
Uso
fonte
O código a seguir exibirá dados json completos na caixa de alerta
fonte
Se você deseja depurar, por que não usar o console debug
fonte
Se você está trabalhando em js em um servidor, apenas um pouco mais de ginástica ajuda bastante ... Aqui estão minhas sugestões (pretty-print-on-server):
que faz um trabalho estressante ao criar algo que eu possa ler quando escrevo o código do servidor.
fonte
Não sei como isso nunca foi feito oficialmente, mas adicionei meu próprio
json
método para fazerconsole
objeções para facilitar a impressão de logs com strings:Muitas vezes, é necessário exibir uma versão estratificada de um Objeto, porque imprimi-lo como está (Objeto Bruto) imprimirá uma versão "ao vivo" do objeto, que será modificada à medida que o programa progride e não espelhará o estado do objeto. no ponto do tempo registrado, por exemplo:
fonte