在json对象中添加斜杠的撇号

时间:2012-10-04 14:51:36

标签: jquery json

我正在获得像这样的json对象

{
    "First": "MyName's",
     "Last": "MyLast"
}

我想对此对象进行字符串化,以使其值变为\' 它可能是's或'S或'任何

我正在使用JSON.stringify(json_obj)但它给我字符串

"{"First":"MyName's","Last":"MyLast"}"

你可以看到MyName我希望这个是MyName的

2 个答案:

答案 0 :(得分:8)

尝试使用正则表达式替换incase,如果你有多个这样的值,

.stringify(data).replace(/'/g, "\\'")

DEMO: http://jsfiddle.net/qMsyg/2/

答案 1 :(得分:5)

在您对json进行字符串化后,只需应用replace("'", "\'");

即可
JSON.stringify(json).replace("'", "\'");

或者您可以将 replacer parameter 用于stringify()方法

JSON.stringify(json, function(key, value) {
   return value.replace("'", "\'");
})

注意: replace("'", "\'")仅替换第一次出现,如@vega所指出的那样。如果要有更多值要转义,请使用正则表达式(如replace(/'/g, "\\'"))。

选择最适合您需求的