JavaScript Tutorials

JavaScript JSON 格式化:完整指南

Spread the love

JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式,常用于 Web 应用程序中服务器和客户端之间的数据传输。原始 JSON 数据,特别是复杂的对象,可能难以阅读。幸运的是,JavaScript 提供了内置方法来增强 JSON 的可读性和管理性。

目录

使用JSON.stringify()格式化 JSON 对象

JSON.stringify()方法是将 JavaScript 对象转换为 JSON 字符串的主要工具。虽然它默认输出紧凑的格式,但可选的space参数可以控制格式。此参数指定缩进级别。

考虑以下 JavaScript 对象:


const myDataObject = {
  name: "John Doe",
  age: 30,
  address: {
    street: "123 Main St",
    city: "Anytown",
    zip: "12345"
  },
  skills: ["JavaScript", "HTML", "CSS"]
};

要将其格式化为可读的 JSON 字符串,请使用带有space参数的JSON.stringify()


const formattedJson = JSON.stringify(myDataObject, null, 2); // 缩进 2 个空格
console.log(formattedJson);

这将产生:


{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "zip": "12345"
  },
  "skills": [
    "JavaScript",
    "HTML",
    "CSS"
  ]
}

JSON.stringify(myDataObject, null, 2)中的2将缩进设置为 2 个空格。可以根据需要调整此值(例如,4 或“t”表示制表符)。null是替换函数的占位符(允许更高级的格式化选项,在更高级的教程中讨论)。

使用JSON.stringify()JSON.parse()重新格式化 JSON 字符串

对于格式错误的 JSON 字符串(例如,单行字符串),可以结合JSON.parse()JSON.stringify()进行重新格式化。

未格式化的 JSON 字符串示例:


const unformattedJson = '{"name":"Jane Doe","age":25,"city":"New York"}';

首先,将字符串解析为 JavaScript 对象:


const jsonObject = JSON.parse(unformattedJson);

然后,使用JSON.stringify()将对象格式化为 JSON 字符串:


const formattedJson = JSON.stringify(jsonObject, null, 4); // 缩进 4 个空格
console.log(formattedJson);

结果:


{
    "name": "Jane Doe",
    "age": 25,
    "city": "New York"
}

这个两步过程有效地清理了格式错误的 JSON。始终处理潜在的JSON.parse()错误(使用try...catch块)以防止应用程序意外崩溃。

总而言之,JSON.stringify()(无论是否与JSON.parse()结合使用)都提供了一种简单的方法来格式化 JavaScript 中的 JSON 数据,从而显著提高了代码的可读性。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注