最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

像console.log这样打印JSON会在Node.js中打印它

运维笔记admin12浏览0评论

像console.log这样打印JSON会在Node.js中打印它

像console.log这样打印JSON会在Node.js中打印它

想知道是否可以打印像Node.js这样的JSON打印出来。如果有一些标准模块或某些事情要做。

它具有键之间的间距,当它太长时它会进入一个新线等。着色将是一个奖励。

JSON.stringify(object, null, 2)相当打印JSON,想知道是否有更多隐藏在那里或任何标准,像Node.js那样做。谢谢。

回答如下:

这似乎可以通过使用util.inspect()实现:

const util = require('util');

const testJson = `{
    "id": "0001",
    "type": "donut",
    "name": "Cake",
    "ppu": 0.55,
    "batters":
        {
            "batter":
                [
                    { "id": "1001", "type": "Regular" },
                    { "id": "1002", "type": "Chocolate" },
                    { "id": "1003", "type": "Blueberry" },
                    { "id": "1004", "type": "Devil's Food" }
                ]
        },
    "topping":
        [
            { "id": "5001", "type": "None" },
            { "id": "5002", "type": "Glazed" },
            { "id": "5005", "type": "Sugar" },
            { "id": "5007", "type": "Powdered Sugar" },
            { "id": "5006", "type": "Chocolate with Sprinkles" },
            { "id": "5003", "type": "Chocolate" },
            { "id": "5004", "type": "Maple" }
        ]
}`

x = JSON.parse(testJson);
x.x = x;
console.log(util.inspect(x, { colors: true }));

options对象使用一个名为depth的参数来确定它将递归的深度。默认值为2.如果我将其增加到3:

console.log(util.inspect(x, { colors: true, depth: 3 }));

我得到以下内容:

让它无限期地递归通过depth: null。节点cli中的默认值似乎也是2。

发布评论

评论列表(0)

  1. 暂无评论