在 JavaScript 中将数组转换为 JSON

Ammar Ali 2023年10月12日
在 JavaScript 中将数组转换为 JSON

本教程将讨论使用 JavaScript 中的 JSON.stringify() 函数将数组转换为 JSON。

使用 JavaScript 中的 JSON.stringify() 函数将数组转换为 JSON

我们使用 JSON 从服务器发送和接收数据,数据应该是字符串格式。我们可以使用 JSON.stringify() 函数将 JavaScript 数组转换为 JSON。例如,让我们创建一个字符串数组并使用 JSON.stringify() 函数将其转换为 JSON。请参考下面的代码。

const MyArray = ['Banana', 'Apple'];
const JsonArray = JSON.stringify(MyArray);
console.log(JsonArray)

输出:

["Banana","Apple"]

将数组转换为 JSON 后,你可以毫无问题地将其发送到服务器。你还可以使用 JavaScript 中的 JSON.stringify() 函数将包含多个属性的对象转换为 JSON。例如,让我们创建一个具有各种属性的对象,并使用 JavaScript 中的 JSON.stringify() 函数将其转换为 JSON。请参考下面的代码。

const MyObject = {
  name: 'Sara',
  age: 22
};
const Json = JSON.stringify(MyObject);
console.log(Json)

输出:

{"name":"Sara","age":22}

如果要将包含日期函数的对象发送到服务器,可以使用 JSON.stringify() 函数,但它也会将其转换为字符串。因此,你必须在接收器处将该字符串转换为日期对象。例如,让我们将一个日期对象传递给 JSON.stringify() 函数并查看结果。请参考下面的代码。

const MyObject = {
  name: 'Sara',
  date: new Date()
};
const Json = JSON.stringify(MyObject);
console.log(Json)

输出:

{"name":"Sara","date":"2021-07-17T02:50:10.568Z"}

正如你在输出中看到的,日期也已转换为字符串。如果要转换包含函数的对象或数组,JSON.stringify() 函数将删除该函数。所以在将对象或数组转换为 JSON 之前,必须先将函数转换为字符串,在接收方,可以将其恢复为函数。例如,让我们使用 JSON.stingify() 函数将包含函数的对象转换为 JSON。请参考下面的代码。

const MyObject = {
  name: 'Sara',
  age: function result() {
    return 22;
  }
};
MyObject.age = MyObject.age.toString();
const Json = JSON.stringify(MyObject);
console.log(Json)

输出:

{"name":"Sara","age":"function result() {return 22;}"}

在上面的代码中,我们使用 toString() 函数将函数转换为字符串,然后使用 JSON.stringify() 函数将对象转换为 JSON。我们可以使用 eval() 函数来恢复函数。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - JavaScript Array