Добавить escape-символ для ctrl-char в строке json
Я пытаюсь JSON декодировать строку, но я получаю сообщение об ошибке:
"message":"error while converting json to class","level":"ERROR","level_value":40000,"stack_trace":"com.fasterxml.jackson.databind.JsonMappingException: Illegal unquoted character ((CTRL-CHAR, code 31)): has to be escaped using backslash to be included in string value\n at [Source: { \"key\": \"abc No.\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F\u001F 106,xyz}
Я подозреваю, что в json может быть символ ctrl-char (/n). Я хочу знать, как добавить дополнительный escape-символ везде, где может присутствовать этот ctrl-char, чтобы мой код не ломался при декодировании json.
Код JSON Decode:
public static Object jsonDecode(String s, Class c) {
Object u = null;
if(s!=null) {
try {
u = objectMapper.reader(c)
.readValue(s);
} catch (Exception e) {
logger.error("error while converting json to class", e);
}
}
return u;
}