I JSON.stringify
um objeto json por
result = JSON.stringify(message, my_json, 2)
O 2
argumento acima deve imprimir o resultado. Faz isso se eu fizer algo parecido alert(result)
. No entanto, quero enviar isso para o usuário anexando-o dentro de uma div. Quando faço isso, recebo apenas uma única linha aparecendo. (Não acho que esteja funcionando porque as quebras e os espaços não estão sendo interpretados como html?)
{ "data": { "x": "1", "y": "1", "url": "http://url.com" }, "event": "start", "show": 1, "id": 50 }
Existe uma maneira de produzir o resultado de JSON.stringify
para uma div de uma maneira bonita de impressão?
javascript
html
json
pretty-print
stringify
Alexis
fonte
fonte
Respostas:
Por favor use uma
<pre>
tagdemo: http://jsfiddle.net/K83cK/
fonte
pre
informa ao mecanismo do navegador que o conteúdo interno é pré-formatado e pode ser exibido sem nenhuma modificação. Portanto, o navegador não remove espaços em branco, novas linhas etc.,code
para torná-lo mais semântico e indica que o conteúdo interno é um trecho de código. Não tem nada a ver com formatação. Aconselha-se a usar como esta,<pre><code> /* Your code snippet here. */ </code></pre>
innerHTML
era mais comum na época.textContent
tornou-se uma propriedade padrão mais tarde.Verifique se a saída JSON está em uma
<pre>
tag.fonte
A divulgação completa Eu sou o autor deste pacote, mas outra maneira de saída JSON ou objetos JavaScript em uma completa forma legível com sendo partes pular capazes, recolhê-los, etc. é
nodedump
, https://github.com/ragamufin/nodedumpfonte
Minha proposta é baseada em:
fonte
Se sua
<pre>
tag estiver mostrando uma única linha de JSON, porque é assim que a string já é fornecida (por meio de uma API ou de uma função / página fora de seu controle), você pode reformatá-la da seguinte maneira:HTML:
JavaScript:
ou jQuery:
fonte
Se isso é realmente para um usuário, melhor do que apenas produzir texto, você pode usar uma biblioteca como esta https://github.com/padolsey/prettyprint.js para produzi-la como uma tabela HTML.
fonte
Considere os retornos da API REST:
Em seguida, você pode fazer o seguinte para imprimi-lo em um bom formato:
fonte
use style,
white-space: pre
a<pre>
tag também modifica o formato do texto que pode ser indesejável.fonte
você pode tentar este repositório: https://github.com/amelki/json-pretty-html
fonte
imprime o estado de um componente com JSX
stringify
fonte
para quem quiser mostrar json dobrável pode usar renderjson
Aqui está o exemplo, incorporando o render js javascript em html
fonte