如何替换\"空值

时间:2017-06-05 09:54:20

标签: java json replace replaceall

我有一个JSON字符串:

{
    "key1": "abc",
    "key2": "def",
    "key3": "gh\"i\"j"
}

预期o / p:

{
    "key1": "abc",
    "key2": "def",
    "key3": "ghij"
}

Java字符串replace()replaceAll()正在替换所有双引号:

System.out.println(a.replaceAll("\\\"",""));

System.out.println(a.replace("\"",""));

输出:

{
    key1: abc,
    key2: def,
    key3: ghij
}

我尝试替换\"的原因是必须使用JSON完成某些操作,转义特殊字符并将JSON字符串存储到数据库中。由于\",json在这里变得无效。

如何只用空值替换\"

1 个答案:

答案 0 :(得分:1)

您想要用空字符串替换\"

\在正则表达式中有特殊含义,因此您需要将其转义。因此,您需要用空字符串替换\\"

然后,在java中的字符串中写入字符串\\"需要转义每个\ + "

因此,表达式为\\ \\ \"(为了便于阅读,我添加了一些空格):

最后,你需要这样写:

a.replaceAll("\\\\\"", "");