我一直在尝试使用以下内容替换为以下字符串...
var r = response.replace('var s = getService().getValue(\"join\")', 'null');
然而,字符串仍未改变,我无法理解为什么。 String本身采用以下格式..
{"r":[],"c":true,"c":{"tags":
[],"":3023,"s":".src.util.S@6f4e9e57","class":"class
src.util.dtos.DTO","Type":"public","c":"m","s":0,"de
fault":false,"id":544,"d":"","n":4,"na":"S","tagString":"","Pages":5},"results":[],"q":"","msg":"var
s = getService().getValue(\"join\")
实际的字符串本身有点长,但我希望你从那个摘要中得到这个想法。
答案 0 :(得分:2)
这是因为在JSON中转义的双引号不应该在单引号字符串中进行转义。
所以,而不是:
var r = response.replace('var joinstakqueries = getService().getValue(\"join\")', 'null');
尝试:
var r = response.replace('var joinstakqueries = getService().getValue("join")', 'null');
答案 1 :(得分:2)
如果你的
var s = getService().getValue(\"join\")
part是JSON字符串中的JavaScript代码,然后您需要在替换之前再次引用它们。
var r = response.replace('var s = getService().getValue(\\"join\\")', 'null');