You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Dan Wallach (JIRA)" <ji...@apache.org> on 2018/02/16 03:11:00 UTC
[jira] [Created] (TEXT-118) JSON escaping incorrect for the delete
control character
Dan Wallach created TEXT-118:
--------------------------------
Summary: JSON escaping incorrect for the delete control character
Key: TEXT-118
URL: https://issues.apache.org/jira/browse/TEXT-118
Project: Commons Text
Issue Type: Bug
Affects Versions: 1.2
Environment: JDK8u162, Mac OS X 13.something.
Reporter: Dan Wallach
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.
{code:java}
@Test
public void testDeleteCharacter() {
String backspaceString = "Backspace: \b";
String deleteString = "Delete: \u007F";
assertEquals("Backspace: \\b", StringEscapeUtils.escapeJson(backspaceString));
assertEquals("Delete: \\u007F", StringEscapeUtils.escapeJson(deleteString));
}
{code}
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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)