Как обрабатывать пользовательские логические строки с помощью потокового API Джексона - PullRequest
0 голосов
/ 14 июля 2011

Я использую потоковый API Джексона для анализа строк JSON. Мне нужно поддерживать «ДА» как логический тип.

JsonFactory f = new JsonFactory();

и затем делает

JsonParser jp = f.createJsonParser(jsonString);

и затем зацикливание на части jp.nextToken (). В поисках необходимых стартовых фигур и прыжков, создавая мои массивы / карты по мере необходимости. Это прекрасно работает для всех обычных подозреваемых. Тем не менее, я получаю исключение при нажатии:

{ "a": false, "b": Yes }

Мне нужно поддерживать Да / Нет, так как это происходит из другой системы.

Есть совет? Я пробовал это http://hussainpithawala.wordpress.com/2011/05/11/overriding-default-serializationdeserialization-behaviour-of-jackson-json-serializer/, но в этом сценарии это не работает.

1 Ответ

2 голосов
/ 14 июля 2011

Я рекомендую вам отправить запрос в проект Джексона на добавление JsonParser.Feature для ALLOW_UNQUOTED_VALUES. (Проблемы могут быть отправлены на http://jira.codehaus.org/browse/JACKSON.). Это позволит вам затем обработать ввод и обеспечить настраиваемую десериализацию. Как сейчас, Джексон выдаст исключение и не предоставит возможность справиться с проблемой, насколько я могу сказать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...