Как я могу маршалировать JSON в / из POJO для BlackBerry Java? - PullRequest
0 голосов
/ 19 мая 2010

Я пишу клиентское приложение RIM BlackBerry.BlackBerry использует упрощенную версию Java (без обобщений, аннотаций, поддержки ограниченных коллекций и т. Д .; примерно диалект Java 1.3).Мой клиент будет говорить JSON с сервером.У нас есть несколько сгенерированных JAXB POJO, но они сильно аннотированы и используют различные классы, которые недоступны на этой платформе (ArrayList, BigDecimal, XMLGregorianCalendar).У нас также есть XSD, используемый компилятором JAXB-XJC для генерации этих исходных файлов.

Будучи ленивым программистом, я бы на самом деле предпочел бы не переводить существующие исходные файлы вручную в Java 1.3-совместимый JSONуроки занятий.Я уже пробовал JAXB 1.0.6 xjc.К сожалению, он недостаточно хорошо понимает файл XSD для создания правильных классов.

Знаете ли вы об инструменте, который будет принимать файлы JAXB 2.0 XSD и создавать классы Java 1.3?А знаете ли вы о библиотеке JSON, которая работает со старой Java?

Я думаю, что я обречен, потому что JSON появился примерно в 2006 году, а Java 5 была выпущена в конце 2004 года, что означает, что люди, вероятно, не будут писатьJSON-разбор кода для старых версий Java.

Однако, похоже, что для J2ME должны быть хорошие библиотеки JSON, поэтому я надеюсь.

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Для первой части удачи, но я действительно не думаю, что вы найдете лучшее решение, чем изменить код самостоятельно. Однако есть хорошая JSON-библиотека J2ME, где вы можете найти ссылку на зеркало здесь .

0 голосов
/ 19 мая 2010

В итоге я использовал apt (инструмент обработки аннотаций) , чтобы запустить 1,5 источника и создать новый 1,3-дружественный источник. На самом деле оказалось довольно приятное решение!

Я до сих пор не нашел элегантного способа выполнения фактического маршалинга JSON, но инструмент apt, вероятно, может помочь написать программный код, который взаимодействует с библиотекой JSON, как тот, который указал Джонатан.

...