Ich habe mich gefragt, warum www.json.org/anyone sonst kein offizielles JAR-Paket von org.json zum Download anbietet? Alle Abfragen, die ich von Leuten finde, die fragen, wo sie die JAR herunterladen können, führen zu Antworten auf die Seite, die nur die Quelldateien auflistet.
Es erscheint ein wenig umständlich, von jedem zu erwarten, dass er jede Quelldatei herunterlädt und die JAR-Datei selbst erstellt.
Die Implementierung von json.org von Douglas Crockford ist nicht-frei. Zum Glück gibt es einen fast kostenlosen Ersatz für den kostenlosen Austausch (anscheinend der Code von Google, der von jemand anderem für Maven Central gepackt wurde):
%Vor% Fügen Sie dies zu pom.xml
hinzu, anstatt den json.org-Server zu verwenden. Wir mussten nur eine geringfügige Änderung an unserem Code vornehmen: der Vaadin kann JSONException
an mehr Stellen werfen, also mussten wir sie entweder abfangen oder an die Anrufer weiterleiten (Verlängerung der throws-Deklaration).
Achten Sie darauf, dass die json.org-Software keine Open-Source-Lizenz hat. Dies führt in vielen Fällen zu Downstream-Problemen.
Das Problem ist, dass die Lizenz im Wesentlichen die MIT-Lizenz ist, aber es fügt eine Zeile hinzu, die besagt, dass die Software nur zum Guten, nicht zum Bösen verwendet werden sollte. Das hört sich gut an, aber wenn Sie einen Firmenanwalt dazu bringen müssen, sich abzumelden, wird es unangenehm, denn es gibt keine übereinstimmende Legaldefinition von "böse". Wenn Sie die Bibliothek von json.org verwenden, können Sie Ihre Software beispielsweise nicht in Debian einbinden. Ihre Software kann ebenfalls keine Abhängigkeit für ein Apache-Projekt darstellen.
Um dabei zu helfen, habe ich die Android-Reinraumumschreibung der json.org-Bibliothek angepasst und verpackt. Die Quelle befindet sich auf GitHub und ist Apache lizenziert. Siehe Ссылка . Um dies zu verwenden, füge etwas wie dieses zu deinem Pom (oder Äquivalent) hinzu:
%Vor%Ping mich mit Pull-Anfragen oder Probleme auf GitHub oder wie Sie möchten.
Die Verwendung des com.tudunning-Pakets kann zu Abhängigkeitskonflikten führen, insbesondere wenn Sie Ihr Projekt anderen als Bibliothek zur Verfügung stellen. Die Implementierung hat keine 100% ige Kompatibilität mit org.json
Dieses Paket (com.tendunning) wurde auf Ссылка aufgeteilt, wobei das Paket in com.github.openjson anstelle von org umbenannt wurde .json um Konflikte zu vermeiden.
Die maven-Abhängigkeit:
%Vor%