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