如何使用JavaScript漂亮地打印JSON对象

时间:2022-07-28
本文章向大家介绍如何使用JavaScript漂亮地打印JSON对象,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文翻译自How to pretty-print a JSON object with JavaScript

如何使用JavaScript漂亮地打印JSON对象

在之前的文章中,我们研究了如何使用JSON.stringify()方法将JSON对象序列化为JSON字符串。 当从客户端向服务器发送JON数据时,这非常有用。

在本文中,您将学习如何使用JSON.stringify()方法在JavaScript中漂亮地打印JSON对象

JSON.stringify()方法最多接受三个参数:JSON对象,替换器和空格。 只有JSON对象是必需的,其余两个参数是可选的。

如果在调用JSON.stringify()时跳过可选参数,则输出JSON字符串将不包含任何空格或换行符。 这使得很难读取序列化的JSON字符串,尤其是当您将其写入文件时。

为了提高可读性,您可以做的是传入一个数字作为第三个参数,表示要插入的总空格。 空格数必须在0到10之间:

const obj = {
    name: 'Atta',
    profession: 'Software Engineer',
    country: 'PK',
    skills: ['Java', 'Spring Boot', 'Node.js', 'JavaScript']
};

// serialize JSON object
const str = JSON.stringify(obj, null, 4);

// print JSON string
console.log(str);

上面的示例将JSON对象序列化为以下字符串:

{
    "name": "Atta",
    "profession": "Software Engineer",
    "country": "PK",
    "skills": [
        "Java",
        "Spring Boot",
        "Node.js",
        "JavaScript"
    ]
}

正如您在上面看到的那样,序列化的JSON字符串格式正确,并且比默认行为更具可读性。 省略space参数时,输出JSON字符串如下所示:

{"name":"Atta","profession":"Software Engineer","country":"PK","skills":["Java","Spring Boot","Node.js","JavaScript"]}

仅此而已。 查看本指南,以了解有关JavaScript中JSON数据解析和序列化的更多信息。