HOWTO · JavaScript

在 JavaScript 中将数组转换为 JSON

我们可以使用 JavaScript 中的 JSON.stringify() 函数将数组转换为 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() 函数来恢复函数。