【问题标题】:jquery display formatted jsonjquery显示格式化的json
【发布时间】:2014-02-18 15:44:00
【问题描述】:

您好,我有一个问题,因为我的 json 没有显示为格式化的 json。

在我的网页中,我有一个<pre></pre> 标签,它包含 json 字符串:

json 示例:

{"status": "OK", "output": {"pools": [{"stats": {"bytes_used": 0, "objects": 0, "kb_used": 0}, "name": "data", "id": 0}, {"stats": {"bytes_used": 0, "objects": 0, "kb_used": 0}, "name": "metadata", "id": 1}, {"stats": {"bytes_used": 0, "objects": 0, "kb_used": 0}, "name": "rbd", "id": 2}], "stats": {"total_used": 63330648, "total_space": 125604864, "total_avail": 62274216}}}

我使用 jquery 脚本来格式化它:

var jsonPretty = JSON.stringify($(this).text(), null, '\t');
$(this).text(jsonPretty);

但它不起作用结果是:

"{\"status\": \"OK\", \"output\": {\"pools\": [{\"stats\": {\"bytes_used\": 0, \"objects\": 0, \"kb_used\": 0}, \"name\": \"data\", \"id\": 0}, {\"stats\": {\"bytes_used\": 0, \"objects\": 0, \"kb_used\": 0}, \"name\": \"metadata\", \"id\": 1}, {\"stats\": {\"bytes_used\": 0, \"objects\": 0, \"kb_used\": 0}, \"name\": \"rbd\", \"id\": 2}], \"stats\": {\"total_used\": 63330648, \"total_space\": 125604864, \"total_avail\": 62274216}}}"

我如何格式化它以显示格式化好的 json?

【问题讨论】:

    标签: javascript jquery json format


    【解决方案1】:

    JSON.stringify 接受一个对象,但您传递给它的是一个字符串。要使用这种方法,您需要将字符串转换为对象,然后再转换回字符串:

    http://jsfiddle.net/yEez8/

    var jsonStr = $("pre").text();
    var jsonObj = JSON.parse(jsonStr);
    var jsonPretty = JSON.stringify(jsonObj, null, '\t');
    
    $("pre").text(jsonPretty);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 2014-09-13
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多