我JSON。Stringify一个json对象

result = JSON.stringify(message, my_json, 2)

上面参数中的2应该是漂亮的输出结果。如果我执行alert(result)之类的操作,它就会这样做。但是,我想通过在div中追加它来将其输出给用户。当我这样做时,我只会显示一行。(我不认为这是工作,因为断点和空格没有被解释为html?)

{ "data": { "x": "1", "y": "1", "url": "http://url.com" }, "event": "start", "show": 1, "id": 50 }

是否有一种输出JSON结果的方法。Stringify到一个div在一个漂亮的打印方式?


当前回答

这是给拉拉维尔的,代码点火者 目录: <pre class=“jsonPre”> </pre>

控制器:返回来自控制器的JSON值

返回json_encode($data, JSON_PRETTY_PRINT);

在脚本: <脚本> $ (' .jsonPre ') . html(结果);> < /脚本

结果将是

其他回答

完全披露我是这个包的作者,但另一种以可读的方式输出JSON或JavaScript对象的方法是nodedump, https://github.com/ragamufin/nodedump

如果这确实是为用户准备的,比仅仅输出文本更好,您可以使用像https://github.com/padolsey/prettyprint.js这样的库将其输出为HTML表。

您可以尝试这个存储库:https://github.com/amelki/json-pretty-html

确保JSON输出在<pre>标记中。

考虑你的REST API返回:

{"Intent":{"Command":"search","SubIntent":null}}

然后你可以按照下面的步骤打印出来:

<pre id="ciResponseText">Output will de displayed here.</pre>   

var ciResponseText = document.getElementById('ciResponseText');
var obj = JSON.parse(http.response);
ciResponseText.innerHTML = JSON.stringify(obj, undefined, 2);