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() 函式來恢複函式。