我正在获得像这样的json对象
{
"First": "MyName's",
"Last": "MyLast"
}
我想对此对象进行字符串化,以使其值变为\'
它可能是's或'S或'任何
我正在使用JSON.stringify(json_obj)但它给我字符串
"{"First":"MyName's","Last":"MyLast"}"
你可以看到MyName我希望这个是MyName的
答案 0 :(得分:8)
尝试使用正则表达式替换incase,如果你有多个这样的值,
.stringify(data).replace(/'/g, "\\'")
答案 1 :(得分:5)
在您对json
进行字符串化后,只需应用replace("'", "\'");
JSON.stringify(json).replace("'", "\'");
或者您可以将 replacer parameter 用于stringify()
方法
JSON.stringify(json, function(key, value) {
return value.replace("'", "\'");
})
注意: replace("'", "\'")
将仅替换第一次出现,如@vega所指出的那样。如果要有更多值要转义,请使用正则表达式(如replace(/'/g, "\\'")
)。
选择最适合您需求的