fix slash escape bug

This commit is contained in:
Looly
2020-04-25 09:31:39 +08:00
parent 669d19eab8
commit 2bcad6031d
5 changed files with 24 additions and 13 deletions

View File

@@ -31,7 +31,7 @@ final class InternalJSONUtil {
*
* @param writer Writer
* @param value 值
* @param indentFactor 每一级别的缩进量
* @param indentFactor 缩进因子,定义每一级别增加的缩进量
* @param indent 缩进空格数
* @param config 配置项
* @return Writer

View File

@@ -599,13 +599,13 @@ public final class JSONUtil {
}
char b; // 前一个字符
char c = 0; // 当前字符
char c; // 当前字符
int len = str.length();
if (isWrap) {
writer.write('"');
}
for (int i = 0; i < len; i++) {
b = c;
// b = c;
c = str.charAt(i);
switch (c) {
case '\\':
@@ -613,12 +613,13 @@ public final class JSONUtil {
writer.write("\\");
writer.write(c);
break;
case '/':
if (b == '<') {
writer.write('\\');
}
writer.write(c);
break;
//此处转义导致输出不和预期一致
// case '/':
// if (b == '<') {
// writer.write('\\');
// }
// writer.write(c);
// break;
default:
writer.write(escape(c));
}