/ / Wie kann ich JSON zu / von einem POJO für BlackBerry Java marshallen? - Json, Brombeere, Pojo

Wie kann ich JSON zu / von einem POJO für BlackBerry Java marshallen? - Json, Brombeere, Pojo

Ich schreibe eine RIM BlackBerry Client App. BlackBerry verwendet eine vereinfachte Version von Java (keine Generika, keine Anmerkungen, eingeschränkte Unterstützung für Sammlungen usw.; ungefähr ein Java 1.3-Dialekt). Mein Client spricht JSON mit einem Server. Wir haben eine Reihe von JAXB-generierten POJOs, aber sie sind stark annotiert, und sie verwenden verschiedene Klassen, die auf dieser Plattform nicht verfügbar sind (ArrayList, BigDecimal, XMLGregorianCalendar). Wir haben auch die XSD, die vom JAXB-XJC-Compiler verwendet wird, um diese Quelldateien zu generieren.

Ich bin der faule Programmierer, der ich bin, wirklichDie vorhandenen Quelldateien sollten nicht manuell in Java 1.3-kompatible JSON-Marshalling-Klassen übersetzt werden. Ich habe bereits JAXB 1.0.6 xjc ausprobiert. Leider versteht es die XSD-Datei nicht gut genug, um richtige Klassen zu emittieren.

Kennen Sie ein Tool, das JAXB 2.0 XSD-Dateien verwendet und Java 1.3-Klassen ausgibt? Und wissen Sie von einer JSON-Marshalling-Bibliothek, die mit altem Java funktioniert?

Ich denke, dass ich verdammt bin, weil JSON um 2006 herumkam und Java 5 Ende 2004 veröffentlicht wurde, was bedeutet, dass Leute wahrscheinlich nicht JSON-Parsing-Code für alte Versionen von Java schreiben würden.

Es scheint jedoch, dass es für J2ME gute JSON-Bibliotheken geben muss, weshalb ich die Hoffnung hege.

Antworten:

1 für die Antwort № 1

Für den ersten Teil viel Glück, aber ich wirklich nichtIch denke, Sie werden eine bessere Lösung finden, als den Code selbst zu modifizieren. Es gibt jedoch eine gute J2ME-JSON-Bibliothek, in der Sie eine Verbindung zum Spiegel finden können Hier.


0 für die Antwort № 2

Ich habe es benutzt apt (Annotationsverarbeitungswerkzeug) über die 1.5 Quellen laufen und eine neue 1.3-freundliche Quelle ausstrahlen. Es stellte sich heraus, dass es eine ziemlich nette Lösung ist!

Ich habe immer noch keinen eleganten Weg gefundendas eigentliche JSON-Marshalling, aber das Apt-Tool kann wahrscheinlich dazu beitragen, den Code zu schreiben, der mit einer JSON-Bibliothek wie der, auf die Jonathan hingewiesen hat, verbunden ist.