在标签中漂亮地打印JSON

时间:2018-10-30 12:09:57

标签: javascript jquery

我从后端收到一个美化的JSON响应(PHP,json_encode($json, JSON_PRETTY_PRINT)),我需要在表中(在我的页面上,<td>标记中,而不是在控制台中)显示美化。问题是,当我将其放入<td>时,它变得毫无特色(如屏幕截图所示): json image

我试图将其放入<pre>标记中,甚至使用了JSON.Stringify(),但是它不起作用,输出看起来也不美观。任何想法如何解决此问题将受到欢迎。谢谢。

UPD_1 那就是我在使用JSON.stringify(json, null, 2)时得到的 enter image description here

如果我先尝试JSON.parse(),然后再尝试JSON.tringify(),则我的输出没有任何反应,它也不具有美感。

1 个答案:

答案 0 :(得分:1)

同时使用./a.out json.stringify()标签。只要您不将json放在<pre>块中,<pre>解析器就会将其解析为文本。如果将其放在HTML标签内,它将被识别为代码。

<pre>
var json = {"glossary":{"title":"example glossary","GlossDiv":{"title":"S","GlossList":{"GlossEntry":{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","GlossDef":{"para":"A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso":["GML","XML"]},"GlossSee":"markup"}}}}};

$("table tr td pre").html(JSON.stringify(json, undefined, 2));