Заменить строку не работает? - PullRequest
1 голос
/ 02 марта 2011

Я пытался заменить следующую строку, используя следующую ...

var r = response.replace('var s = getService().getValue(\"join\")', 'null');

Однако строка остается неизменной, и я не могу понять, почему. Сама строка принимает следующий формат ..

{"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\")

Сама строка немного длиннее, но я надеюсь, что вы поняли идею из этого резюме.

Ответы [ 2 ]

2 голосов
/ 02 марта 2011

Если ваш

var s = getService().getValue(\"join\")

part - это код JavaScript внутри строки JSON, после чего вам необходимо снова заключить их в кавычки перед заменой.

var r = response.replace('var s = getService().getValue(\\"join\\")', 'null');
2 голосов
/ 02 марта 2011

Это потому, что двойные кавычки, экранированные в JSON, не должны быть экранированы внутри строки в одинарных кавычках.

Итак, вместо:

var r = response.replace('var joinstakqueries = getService().getValue(\"join\")', 'null');

попробовать:

var r = response.replace('var joinstakqueries = getService().getValue("join")', 'null');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...