Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.2
-
None
-
None
-
JDK8u162, Mac OS X 13.something.
Description
Here's a simple unit test. The assertion about backspace succeeds. The assertion about the delete character fails. Instead, the delete character shows up in the escaped text. This violates the JSON spec, which forbids "control characters" in strings.
@Test public void testDeleteCharacter() { String backspaceString = "Backspace: \b"; String deleteString = "Delete: \u007F"; assertEquals("Backspace: \\b", StringEscapeUtils.escapeJson(backspaceString)); assertEquals("Delete: \\u007F", StringEscapeUtils.escapeJson(deleteString)); }
The JSON spec doesn't have a specific escape for a delete character, but it does explicitly exclude control characters from passing through. I'd recommend behavior as in the above unit test.
Attachments
Issue Links
- is related to
-
SPARK-28549 Use `text.StringEscapeUtils` instead `lang3.StringEscapeUtils`
- Resolved
- links to