在 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