在json中替换字符串

时间:2016-04-25 11:12:37

标签: javascript json

我是javascript的新手,并且这个代码将替换从A到B的字符串,但是如果有多个As的记录,它将只替换第一个A,而剩下的将保留为A.注意stringify被调用两次。

"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);
}

2 个答案:

答案 0 :(得分:0)

这与JSON没什么关系。正如documented

  

要执行全局搜索和替换,请在正则表达式中包含g开关。

所以改变这个:

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

......进入这个:

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

答案 1 :(得分:0)

要替换上下文中的每个单词,请使用正则表达式。因此,请查看此示例以了解其工作原理:

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

https://jsfiddle.net/n1otvpy1/