Как проанализировать строку JSON с символами UTF-8, используя Java? - PullRequest
1 голос
/ 08 апреля 2019

У меня есть строка json с ЗАМЕНА () utf-8 символов.Я получаю исключение при разборе, когда пытаюсь преобразовать строку json в объект java, используя jackson.Не могли бы вы дать мне знать, как кодировать и декодировать символы utf-8?

ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, MY_DOMAIN_OBJECT.class);

jsonString:

{"studentId":"753253-2274", "information":[{"key":"1","value":"Get alerts on your phone(SUBSTITUTE character is present here. Unable to paste it)To subscribe"}]}

enter image description here

Ошибка:

Illegal unquoted character ((CTRL-CHAR, code 26)): has to be escaped using backslash to be included in string value

1 Ответ

3 голосов
/ 08 апреля 2019

Можете ли вы попробовать это?

ObjectMapper mapper = new ObjectMapper();
mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
mapper.readValue(jsonString, MY_DOMAIN_OBJECT.class);

Надеюсь, это поможет вам: Javadoc

Функция, которая определяет, будет ли синтаксический анализатор разрешать JSON-строки содержатьуправляющие символы без кавычек (символы ASCII со значением менее 32, включая символы табуляции и перевода строки) или нет.Если для свойства установлено значение false, возникает исключение, если встречается такой символ.Поскольку спецификация JSON требует заключать в кавычки все управляющие символы, это нестандартная функция, поэтому по умолчанию она отключена.

...