在前端開發(fā)中,常常需要使用到JSON數(shù)據(jù)格式進行數(shù)據(jù)交互。在請求數(shù)據(jù)的過程中,服務器經(jīng)常會返回一個JSON格式的字符串。這個時候就需要將JSON字符串轉(zhuǎn)換成JSON對象,方便后面的使用。下面我們來介紹一下如何將JSON字符串轉(zhuǎn)換成JSON對象。
var jsonStr = '{"name":"Jim","age":"18","gender":"male"}';
var jsonObj = JSON.parse(jsonStr);
console.log(jsonObj);
上面的代碼中,我們首先定義一個JSON格式的字符串,然后調(diào)用JSON對象的parse()方法將這個JSON字符串轉(zhuǎn)換成JSON對象。最后我們將JSON對象輸出到控制臺。
如果JSON字符串中包含特殊字符,例如回車符、換行符等,那么在轉(zhuǎn)換的過程中就會出現(xiàn)錯誤。這個時候我們需要使用JSON.parse()方法的另外一個重載版本,它可以接受第二個參數(shù),用于解析JSON字符串中的特殊字符。
var jsonStr = '{"name":"Jim\\nSmith","age":"18","gender":"male"}';
var jsonObj = JSON.parse(jsonStr, function (key, value) {
if (typeof value === 'string') {
return value.replace(/\\n/g, '\n');
}
return value;
});
console.log(jsonObj);
上面的代碼中,我們使用了JSON.parse()方法的重載版本,第二個參數(shù)是一個函數(shù),用于將JSON字符串中的特殊字符進行處理。如果value是字符串,那么就將其中的所有"\\n"替換成"\n",最后返回處理后的value。這樣,在處理完特殊字符之后,我們就可以正常地將JSON字符串轉(zhuǎn)換成JSON對象了。
上一篇vue點擊按鈕代碼