Ich versuche, die automatische Vervollständigung für mein auf SourceForge gehostetes Wörterbuchprojekt zu schreiben. Leider hat Perl auf SF kein JSON-Modul installiert. Wie kann ich das umgehen, ohne das Modul selbst zu benutzen? Als Modell nahm ich JQuery UI automcomplete guide on jensbits .
Hier ist Perl-Code, der Text abfragen und an das Auto-Completion-Modul senden soll
%Vor% Soweit ich weiß, muss JSON
package nicht im System installiert sein.
Sie können einfach die neueste JSON-Distribution herunterladen, entpacken und hochladen zu deinem Hosting und lass Perl wissen, wo du den Code findest: füge einfach
vor
%Vor%Wenn Sie den absoluten Pfad nicht kennen oder den Code portabler machen möchten, können Sie das Paket FindBin finden JSON-Distro-Verzeichnis relativ zu Ihrer Binärdatei:
%Vor%Ich hoffe, dass dies Ihr Problem löst.
Warum installieren Sie das Modul nicht in Ihrem Benutzerverzeichnis auf SourceForge mit local :: lib ?
Wenn Sie das JSON
-Modul wirklich nicht installieren können, ist es nicht schwer, einen reinen JSON zu schreiben Encoder selbst:
Dieser Code codiert undef
als null
, Arrayrefs als JSON-Arrays, Hashrefs als JSON-Objekte und alle definierten Nicht-Referenzskalare als JSON-Strings. Es wird sterben, wenn es auf etwas anderes trifft; insbesondere wird nicht und
auf true
false
und JSON
abgebildet, wie das Modul Data::Dumper
, obwohl dies bei Bedarf leicht hinzugefügt werden könnte.
Alternativ kann Data::Dumper
durch Einstellen der entsprechenden Optionen veranlasst werden, etwas zu emittieren, das JSON annähert:
Die resultierende Ausgabe ist jedoch möglicherweise kein 100% gültiger JSON; Insbesondere mit diesen Optionen entspricht die Behandlung von undef
in %code% und von Zeichenfolgen mit speziellen oder nicht druckbaren Zeichen nicht vollständig der JSON-Spezifikation.