6

このようなjsonオブジェクトを取得しています

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

このオブジェクトを文字列化して、値が\' 、または 'S または '何かになるようにしたい

JSON.stringify(json_obj) を使用していますが、文字列が返されます

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

あなたはMyNameのを見ることができます

4

2 に答える 2

10

そのような値が複数ある場合は、正規表現の置換を使用してみてください。

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

デモ: http://jsfiddle.net/qMsyg/2/

于 2012-10-04T14:57:57.010 に答える
5

文字列化した後、json適用するだけですreplace("'", "\'");

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

または、メソッドに置換パラメーターを使用することもできますstringify()

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

注: replace("'", "\'") @vegaが指摘したように、最初に出現したもののみを置き換えます。エスケープする値がさらにある場合は、正規表現 ( などreplace(/'/g, "\\'")) を使用します。

ニーズに最適なものを選択してください

于 2012-10-04T14:55:03.160 に答える