java:StringEscapeUtils.unescapeJava去掉转义字符

java:StringEscapeUtils.unescapeJava去掉转义字符

1 场景

比如拿到一个字符串,格式如下:

"{\\\"name\\\":\\\"xiaoxu\\\",\\\"age\\\":\\\"27\\\"}"

希望得到如下形式的字符串(json字符串,使用双引号):

{"name":"xiaoxu","age":"27"}

可以使用StringEscapeUtils.unescapeJava去掉转义字符,\就是转义字符,可以将特殊含义的字符,比如换行符:\n,通过转义字符写法:\ \n,将其装换成一个普通的"\n"字符串,而非换行。

2 依赖

依赖使用到的是apache的commons-text包(因为commons-lang3中的StringEscapeUtils.unescapeJava已废弃,需要使用commons-text):

<dependency>
    <groupId>org.apache.commonsgroupId>
    <artifactId>commons-lang3artifactId>
    <version>3.8.1version>
dependency>
<dependency>
    <groupId>org.apache.commonsgroupId>
    <artifactId>commons-textartifactId>
    <version>1.9version>
dependency>

3 代码如下

导包:

import org.apache.commons.text.StringEscapeUtils;
System.out.println("\n");
System.out.println("\\n");
String str = "{\\\"name\\\":\\\"xiaoxu\\\",\\\"age\\\":\\\"27\\\"}";
System.out.println("str="+str);
String s = StringEscapeUtils.unescapeJava(str);
System.out.println("修改后的str="+s);

结果如下:
java:StringEscapeUtils.unescapeJava去掉转义字符_第1张图片

你可能感兴趣的:(Java,java,开发语言,后端)