12

我的页面上有一些 Javascript,可以进行 ajax 调用,返回一些 JSON 数据。

结果我这样做:

results = JSON.stringify(data, undefined, 2);
console.log(results);
$('.box').append(results);

.box只是一个空的div。

console.log(results)给我一个带有换行符的缩进结果,但其中的数据.box都在一行中。

如何确保结果.box也在多行上并缩进?

4

2 回答 2

23

.box 只是一个空的 div。

<pre>改为空:

<pre class="box"></pre>
于 2013-05-11T17:23:04.273 回答
8

我同意使用<pre>,但另一种选择是将所有元素替换\n<br>元素,将空格替换为&nbsp;. 这可能真的没必要(因为<pre>保留了空格)。你可以试试:

var data = {key1: "value1", key2: "value2", key3: {key4: "value4"}},
    results = JSON.stringify(data, undefined, 2),
    results2 = results.replace(/\n/g, "<br>").replace(/[ ]/g, "&nbsp;");
console.log(results);
$(".box").append(results2);

演示:http: //jsfiddle.net/Yk5Pb/3/

于 2013-05-11T17:26:29.883 回答