在 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()
函数来恢复函数。