public class JsonStringEscaper {
/**
* JSON 표준에 맞춰 문자열을 안전하게 이스케이프 처리합니다.
* (성능 및 안정성 개선 버전)
*
* @param str 이스케이프할 원본 문자열
* @return 이스케이프 처리된 문자열
*/
public static String escapeJsonStringRobust(String str) {
if (str == null) {
return null;
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
switch (c) {
case '"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
default:
sb.append(c);
}
}
return sb.toString();
}
}
2025. 9. 2. 09:43
