詳述json.stringify格式化的多個方面

一、操作簡介

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:29
下一篇 2024-11-24 16:29

相關推薦

發表回復

登錄後才能評論