处理JSON字符串的时候,有些字段是对应XML文件内容的,XML中存在双引号"这种特殊字符,在JSON中不转义会引起解析失败的问题,使用String.replace/replaceAll等方式,不知道为什么总是不行,无论是\\\"还是\\\\\"替换都不行,查了半天,无奈找到一个比较直接的方法,使用char字符进行替换,如下:
public static String convertXml(String xml) { StringBuilder sb = new StringBuilder(); char c; for (int i = 0; i < xml.length(); i++) { c = xml.charAt(i); switch (c) { case '\"': sb.append("\\\""); break; default: sb.append(c); } } return sb.toString(); }