JSON是目前應(yīng)用非常廣泛的一種輕量級數(shù)據(jù)交換格式。在前端開發(fā)中,我們經(jīng)常需要將一些JavaScript對象轉(zhuǎn)換為JSON格式的數(shù)據(jù),并將其發(fā)送到后端進(jìn)行處理。而有時我們也需要將后端返回的JSON數(shù)據(jù)進(jìn)行解析,轉(zhuǎn)換為JavaScript對象,以便在前端進(jìn)行操作。
在JavaScript中,JSON對象提供了兩個方法,分別是JSON.stringify()和JSON.parse(),用于進(jìn)行JSON數(shù)據(jù)與JavaScript對象之間的轉(zhuǎn)換。
//JavaScript對象轉(zhuǎn)換為JSON數(shù)據(jù)
const person = {
name: 'Tom',
age: 20,
isStudent: true,
hobbies: ['football', 'reading']
};
const jsonString = JSON.stringify(person);
//JSON數(shù)據(jù)轉(zhuǎn)換為JavaScript對象
const jsonStr = '{"name":"Tom","age":20,"isStudent":true,"hobbies":["football","reading"]}';
const obj = JSON.parse(jsonStr);
使用JSON.stringify()方法,我們可以將一個JavaScript對象轉(zhuǎn)換為一個JSON格式的字符串。在調(diào)用該方法時,我們可以為其傳遞兩個參數(shù):要進(jìn)行轉(zhuǎn)換的JavaScript對象,以及一個可選的replacer函數(shù),用于控制轉(zhuǎn)換中某些值的處理方式。
而使用JSON.parse()方法,則可以將一個JSON格式的字符串轉(zhuǎn)換為一個等價的JavaScript對象。在調(diào)用該方法時,我們同樣可以傳遞兩個參數(shù):要進(jìn)行轉(zhuǎn)換的JSON字符串,以及一個可選的reviver函數(shù),用于在轉(zhuǎn)換過程中修改某些值。