有個需求,在向后臺提交數(shù)據(jù)時,將"字符轉(zhuǎn)義后再提交。
前臺的數(shù)據(jù)既有對象格式(或數(shù)組),也有JSON格式,我會在ajax請求前,將數(shù)據(jù)統(tǒng)一轉(zhuǎn)為JSON格式,這個時候,如果輸入有",那么,會被轉(zhuǎn)為",數(shù)據(jù)格式如下:
"{"houseTypeName":"\"good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"}"
希望通過正則表達式,改為:
"{"houseTypeName":""good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"}"
但是,我實驗了/\"/g或者/"/g,都不行,會把所有"轉(zhuǎn)義,這樣肯定是不對的。
求正則大神支招,萬分感謝!
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
可以在json對象轉(zhuǎn)為字符串之前迭代整個json對象,對所有字符串的值進行替換后再將json轉(zhuǎn)為字符串提交給后臺
//如果你本身是字符串,請先將字符串轉(zhuǎn)為json對象(JSON.parse/或jQuery.parseJSON) var?json?=?{"houseTypeName":"\"good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"}; for(var?key?in?json) ????if(typeof?json[key]?==='string') ????????json[key]?=?json[key].replace(/"/g,'"'); console.log(JSON.stringify(json));
???var?a?=?{"houseTypeName":"\"good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"}; ????????a?=?JSON.stringify(a); ????????a?=?a.replace('\\"',""");????????console.log(a);
$str??=?'"{"houseTypeName":"\"good","coveredArea":"\"4567","tablePrice":"4567","buildingId":"9"}"'; $str?=?preg_replace('/\\\"/',?'"',?$str); print_r($str);
PHP 的替換是這樣,JS的也可以參照,希望采納。