fastjson支持反序列化反单引号

返回
Author Avatar
钢翼
2021-01-23
编程
64

fastjson不能转义带有反单引号的json,如

{
	a:`123
456
789`
}

所以我们需要反序列之前用正则替换掉`,如下

  private String toES5(String template){
        String result = template;
        Matcher matcher = Pattern.compile("`((?:[^`\\\\]|\\\\.)*)`").matcher(template);
        while (matcher.find()) {
            result = result.replace(matcher.group(0), "\"" + matcher.group(1).replace("\\`", "`") + "\"");
        }
        return result;
    }