2016-04-25 9 views
0

私はJavaScriptの新機能で、AからBの文字列を置き換えるが、Asの複数のレコードがある場合は最初のAを置き換え、残りはA. stringifyは2回呼び出されることに注意してください。jsonの文字列を置換する

"success": function(json) { 
    var old = JSON.stringify(json).replace('"新交易"', '"待审核"'); 
    var newdata = JSON.parse(old); 

    var old = JSON.stringify(newdata).replace('"批准"', '"已充值"'); 
    var newdata = JSON.parse(old); 
    fnCallback(newdata); 
} 
+0

はこの参考になりましたか? http://stackoverflow.com/questions/1144783/replacing-all-occurrences-of-a-string-in-javascript – ArianJM

+1

置き換えを使用する理由は?あなたはオブジェクトのプロパティを変更することができます – isvforall

+0

あなたの 'json'とは何ですか? – isvforall

答えて

0

これはJSONとほとんど関係ありません。 As documented

グローバル検索を実行して置換するには、gスイッチを正規表現に含めます。

ので、これを変更:

replace('"新交易"', '"待审核"') 

...これに:

replace(/"新交易"/g, '"待审核"') 
+0

ありがとう!私は新しいことを学んだ! – MuthaFury

0

を正規表現を使用して、あなたのコンテキスト内のすべての単語を置き換えるには。だから、それがどのように動作するかを確認するには、この例を確認してください。

var someText = '"新交易""新交易""新交易""新交易""新交易""新交易""新交易""新交易"'; 
    var someText2 = '"批准""批准""批准""批准""批准""批准""批准""批准""批准""批准"'; 
    var old = someText.replace(/"新交易"/g, '"replaced"'); 
    var stuff = someText2.replace(/"批准"/g, '"已充值"'); 

https://jsfiddle.net/n1otvpy1/