删除json String中的第一级转义(Java)

yhuiod9q  于 2023-10-21  发布在  Java
关注(0)|答案(2)|浏览(129)

我有一个这样的字符串:

private String jsonString = "{\\\"test\\\":\\\"value \\\\\\\"ciao\\\\\\\"  \\\"}"

在运行时,这应该是:{\"test\":\"value \\\"ciao\\\" \"}
现在我只想删除第一级的转义并留下嵌套的转义。
结果应为:{"test":"value \"ciao\" "}
我该怎么做?是否可以使用replace()replaceAll()之类的方法?

2g32fytz

2g32fytz1#

您可以使用 *String#sampleEscapes * 方法。

String s = "{\\\"test\\\":\\\"value \\\\\\\"ciao\\\\\\\"  \\\"}";
s = s.translateEscapes();

输出

{"test":"value \"ciao\"  "}
l7wslrjt

l7wslrjt2#

你可以这样使用replaceAll()

public class Main {
    public static void main(String[] args) {
        String jsonString = "{\\\"test\\\":\\\"value \\\\\\\"ciao\\\\\\\"  \\\"}";

        String unescapedString = jsonString.replaceAll("\\\\\\\\", "\\\\").replaceAll("\\\\\\\"", "\"");

        System.out.println(unescapedString);
    }
}

相关问题