in johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java [489:545]
private void writeEscaped0(final String value) {
int len = 0;
if (value == null || (len = value.length()) == 0) {
return;
}
for (int i = 0; i < len; i++) {
char c = value.charAt(i);
while (c != ESCAPE_CHAR && c != QUOTE_CHAR && c >= SPACE) {
//read fast
justWrite(c);
if (i >= len - 1) {
return;
}
i++;
c = value.charAt(i);
}
switch (c) {
case QUOTE_CHAR:
case ESCAPE_CHAR:
justWrite(ESCAPE_CHAR);
justWrite(c);
break;
default:
if (c < SPACE) {
switch (c) {
case EOL:
justWrite("\\n");
break;
case '\r':
justWrite("\\r");
break;
case '\t':
justWrite("\\t");
break;
case '\b':
justWrite("\\b");
break;
case '\f':
justWrite("\\f");
break;
default:
justWrite(toUnicode(c));
}
} else if ((c >= '\u0080' && c < '\u00a0') || (c >= '\u2000' && c < '\u2100')) {
justWrite(toUnicode(c));
} else {
justWrite(c);
}
}
}
}