我有一个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在这里变得无效。
如何只用空值替换\"
?
答案 0 :(得分:1)
您想要用空字符串替换\"
。
\
在正则表达式中有特殊含义,因此您需要将其转义。因此,您需要用空字符串替换\\"
。
然后,在java中的字符串中写入字符串\\"
需要转义每个\
+ "
。
因此,表达式为\\ \\ \"
(为了便于阅读,我添加了一些空格):
最后,你需要这样写:
a.replaceAll("\\\\\"", "");