JSON是一種輕量級的數(shù)據(jù)交換格式,經(jīng)常用于前后端數(shù)據(jù)傳輸。在使用JSON傳遞參數(shù)的時候,我們有時需要將參數(shù)轉換成字符串。這里我們介紹如何使用JavaScript的JSON.stringify()方法把參數(shù)轉換成字符串。
var obj = { name: '小明', age: 18, gender: 'male' }; var jsonString = JSON.stringify(obj); console.log(jsonString); // 輸出 {"name":"小明","age":18,"gender":"male"}
如上代碼所示,我們定義了一個對象obj,里面包含了三個屬性,然后調用JSON.stringify()方法把這個對象轉換成了字符串。
JSON.stringify()方法還接受兩個參數(shù),分別是replacer和space。
replacer參數(shù)用來過濾轉換結果,可以是一個函數(shù)或者一個數(shù)組。
var obj = { name: '小明', age: 18, gender: 'male' }; var jsonString = JSON.stringify(obj, ['name', 'age']); console.log(jsonString); // 輸出 {"name":"小明","age":18}
如上代碼所示,我們傳了一個數(shù)組作為replacer參數(shù)來過濾轉換結果,只保留了name和age兩個屬性。
space參數(shù)用來指定縮進空格數(shù),可以是一個數(shù)字或者字符串。
var obj = { name: '小明', age: 18, gender: 'male' }; var jsonString = JSON.stringify(obj, null, 2); console.log(jsonString); // 輸出 // { // "name": "小明", // "age": 18, // "gender": "male" // }
如上代碼所示,我們傳了一個數(shù)字2作為space參數(shù),這樣輸出的字符串會有縮進。
綜上所述,JSON.stringify()方法是把參數(shù)轉換成字符串的重要方法,使用replacer和space參數(shù)可以進一步控制轉換結果,讓參數(shù)轉換成需要的格式。