Настроить Play/Jerkson для десериализации JSON без кавычек (нестандартный) без дублирования большого количества кода

В приложении Play 2.0 мне нужно десериализовать некоторый JSON из источника, который я не контролирую, который использует одинарные кавычки вокруг строк - где спецификация JSON требует двойных кавычек.

Решение с использованием Джексона находится здесь: Настройте Джексона для десериализации JQ с одинарными кавычками (неверно)

Но, пытаясь реализовать это решение в play2.0, я наткнулся на стену статических объектов и частных классов... этого должно быть достаточно, чтобы заменить объект JerksonJson на объект, реализующий решение, связанное выше при инициализации, но, поскольку это статический объект, он может Не могу быть расширена, и я пытаюсь скопировать его в свой код, который мне нужно перетащить вдоль классов PlaySerializer, PlayDeserializer, JsValueDeserializer,... Я остановился здесь, так как это выглядело слишком много.

Есть ли чистое решение?

2 ответа

Как насчет попытки исправить недопустимую строку json, заменив каждую 'в ней на "?

Это сработало бы, если бы они использовались только для указания строк.

Я понимаю, что это может не сильно помочь с частью фреймворка Play, но, возможно, вы могли бы использовать модуль Jackson Scala вместо Jerkson? Это должно облегчить использование ObjectMapper, с зарегистрированным модулем Scala, вместо того, чтобы использовать специфичные для Джексона обработчики.

Другие вопросы по тегам