最近研究短信轰炸的时候遇到一个问题, 有些接口写的乱七八糟
返回值竟然把 汉字utf-8格式\uxxxx之类的 \u转义成 \\u
String source = "{\"status\": \"error\", \"msg\": \"\u4eca\u5929\u9a8c\u8bc1....";
System.out.println(source);
System.out.println(URLDecoder.decode(source, "utf-8"));
source = "{\"status\": \"error\", \"msg\": \"\\u4eca\\u5929\\u9a8c\\u8bc1....";
System.out.println(URLDecoder.decode(source, "utf-8"));
运行结果
{"status": "error", "msg": "今天验证....
{"status": "error", "msg": "今天验证....
{"status": "error", "msg": "\u4eca\u5929\u9a8c\u8bc1....
遇到这种情况 ,需要把\\uxxxx转换为\uxxxx
if (source.contains("\\u")) {
StringBuffer buf = new StringBuffer();
Matcher