📜  javascript 对象到 json - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:42.792000             🧑  作者: Mango

JavaScript 对象到 JSON

介绍

JSON(JavaScript Object Notation)是一种轻量级的数据序列化格式,它已经成为现代网络应用程序的标准数据交换格式之一。在JavaScript中,我们可以通过将JavaScript对象(包括数组、字符串、数字、布尔值和null)转换为JSON格式来使数据在网络上传输。

将JavaScript对象转换为JSON

在JavaScript中,我们可以使用全局对象JSON提供的stringify()方法将JavaScript对象转换为JSON。

const myObj = { name: "John", age: 30, city: "New York" };
const myJSON = JSON.stringify(myObj);
console.log(myJSON); // 输出: {"name":"John","age":30,"city":"New York"}

在上面的代码中,我们将一个名为myObj的JavaScript对象转换为JSON格式。我们使用JSON.stringify()方法将该对象转换为JSON格式的字符串,然后将其存储在名为myJSON的变量中。最后,我们使用console.log()方法将JSON格式的字符串打印到控制台中。

将JSON转换为JavaScript对象

在JavaScript中,我们可以使用全局对象JSON提供的parse()方法将JSON格式的字符串转换为JavaScript对象。

const myJSON = '{"name":"John","age":30,"city":"New York"}';
const myObj = JSON.parse(myJSON);
console.log(myObj); // 输出: { name: "John", age: 30, city: "New York" }

在上面的代码中,我们将一个JSON格式的字符串myJSON转换为JavaScript对象。我们使用JSON.parse()方法将该字符串转换为JavaScript对象,然后将其存储在名为myObj的变量中。最后,我们使用console.log()方法将该JavaScript对象打印到控制台中。

对象的字符串化

在JavaScript中,我们可以使用JSON.stringify()方法将一个JavaScript对象转换为JSON格式的字符串。我们可以向这个方法添加一些参数来控制生成JSON格式字符串的方式。

对象的属性字符串化

在JavaScript中,我们可以通过向JSON.stringify()方法添加第二个参数来控制对象的属性在JSON格式字符串中的显示方式。第二个参数可以是一个数组,该数组包含需要包含的属性名,也可以是一个函数,该函数可用于转换JSON格式字符串的生成。

下面是一个具有过滤属性的示例:

const myObj = { name: "John", age: 30, city: "New York" };
const myJSON = JSON.stringify(myObj, ["name", "age"]);
console.log(myJSON); // 输出: {"name":"John","age":30}

在上面的代码中,我们将一个名为myObj的JavaScript对象转换为JSON格式字符串,并将属性名为nameage的属性包含在JSON格式字符串中。最终,我们使用console.log()方法将JSON格式字符串打印到控制台中。

下面是一个具有属性名称的示例:

const myObj = { name: "John", age: 30, city: "New York" };
const myJSON = JSON.stringify(myObj, (key, value) => {
  if (typeof value === "string") {
    return `${key}: ${value}`;
  }
  return value;
});
console.log(myJSON); // 输出: {"name": "John", "age": 30, "city": "New York"}

在上面的代码中,我们使用一个函数来过滤JavaScript对象的属性名称。该函数将只允许字符串类型,同时将属性名称后面附加一个冒号。最终,我们使用console.log()方法将JSON格式字符串打印到控制台中。

对象的缩进字符

在默认情况下,使用JSON.stringify()方法生成的JSON格式字符串没有缩进。我们可以向该方法添加第三个参数来设置缩进字符。

下面是一个带缩进字符的示例:

const myObj = { name: "John", age: 30, city: "New York" };
const myJSON = JSON.stringify(myObj, null, 4);
console.log(myJSON); /* 输出:
{
    "name": "John",
    "age": 30,
    "city": "New York"
}
*/

在上面的代码中,我们使用JSON.stringify()方法将一个名为myObj的JavaScript对象转换为JSON格式字符串。我们将第三个参数设置为4,以使生成的JSON格式字符串有四个空格的缩进(默认为两个空格)。最终,我们使用console.log()方法将JSON格式字符串打印到控制台中。

总结

JSON是一种轻量级的数据序列化格式,它可以通过JavaScript对象转换为JSON格式字符串,也可以通过JSON格式字符串转换为JavaScript对象。当需要生成符合规范的数据交换格式时,可以使用JSON格式化数据。