Android替换JSON转义字符

Posted newchenxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android替换JSON转义字符相关的知识,希望对你有一定的参考价值。

1 问题背景

A同学收到B同学传递来的json数据,带了转义字符,例如:

\\"key\\":1,\\"data\\":\\"type\\":2,\\"value\\":\\"testtest\\"

如果只是想查看数据,那找个网站,去除转义即可,例如
Json转义网站

但是,如果你需要代码层面去除转义,并且还不想依赖第三方库怎么办?

2 解决办法
使用String类的replaceAll方法。String.replaceAll("\\\\\\\\", "")

测试代码:

public class HelloWorld 
 static String test = "\\"key\\":1,\\"data\\":\\"type\\":2,\\"value\\":\\"testtest\\"";
    public static void main(String []args) 
  String aa = test.replaceAll("\\\\\\\\", "");
       System.out.println("result : \\n" + aa);
    

以上代码,可以直接找个java在线测试平台验证,例如:菜鸟工具Java在线运行

3 详细解释

答案给出了,现在来我们具体展开说一下

3.1 replaceAll函数

语法

public String replaceAll(String regex, String replacement)

参数

regexreplacement

返回值

成功则返回替换的字符串,失败则返回原始字符串。

3.2 解释

为什么只是去除一个斜杠,需要regex等于四个斜杠呢?
\\在 Java 的正则表达式中,两个 \\\\ 代表其他语言中的一个 \\
\\\\\\\\\\\\
\\String.replaceAll("\\\\\\\\", "")
4 参考

以上是关于Android替换JSON转义字符的主要内容,如果未能解决你的问题,请参考以下文章