一、操作簡介
JSON.stringify() 方法用於將 JavaScript 值轉換為 JSON 字符串。通過序列化的方式,可以將 JSON 對象轉換為字符串,傳輸到其他的計算機或存儲到本地介質上。通過反序列,也可以將字符串轉化為 JSON 對象。
該方法有三個參數。第一個是序列化的JavaScript 對象;第二個是過濾器函數,可以過濾部分屬性;第三個則是縮進以及間隔控制。
// 簡單示例
let obj = {
name: 'Jack',
age: 30,
address:{
city: 'New York',
state: 'NY',
zip: 10001
}
};
let jsonStr = JSON.stringify(obj);
console.log(jsonStr);// {"name":"Jack","age":30,"address":{"city":"New York","state":"NY","zip":10001}}
二、縮進
通過第三個參數,可以指定縮進以及間隔的字符數,使 JSON 格式化輸出。如果是數字,則指定每個級別的縮進字符的數目。如果是字符串,用作縮進字符;比如「\t」。
// 簡單示例
let obj = {
name: 'Jack',
age: 30,
address:{
city: 'New York',
state: 'NY',
zip: 10001
}
};
let jsonStr = JSON.stringify(obj, null, '\t');
console.log(jsonStr);
// {
// "name": "Jack",
// "age": 30,
// "address": {
// "city": "New York",
// "state": "NY",
// "zip": 10001
// }
// }
三、數據類型
JSON.stringify() 方法能夠序列化除 symbol 類型之外的大部分 JavaScript 基礎數據類型,包括字符串、數字、布爾值和 null,也能序列化對象、數組和 Map 類型等複雜數據類型。
// 簡單示例
let obj = {
name: 'Jack',
age: 30,
address:{
city: 'New York',
state: 'NY',
zip: 10001
}
};
let arr = [1, 2, 3, "apple", true, null, obj];
let jsonStr = JSON.stringify(arr);
console.log(jsonStr); // [1, 2, 3, "apple", true, null, {"name":"Jack","age":30,"address":{"city":"New York","state":"NY","zip":10001}}]
四、Date 對象
JSON.stringify() 在序列化 Date 對象時,效果與 toISOString() 方法類似。
// 簡單示例
let obj = {
today: new Date()
};
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"today":"2022-02-22T08:00:57.150Z"}
五、函數、Symbol 和 undefined
JSON.stringify() 在序列化函數、symbol 和 undefined 時會自動將其忽略。
// 簡單示例
let obj = {
name: 'Jack',
func: function() {
console.log('Hello World');
},
age: undefined,
sex: Symbol('Male')
};
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"Jack"}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/183396.html
微信掃一掃
支付寶掃一掃