Wie drucke ich JSON-Daten mit Perl, ohne das JSON-Modul zu verwenden?

8

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%     
Temujin 17.10.2011, 12:06
quelle

3 Antworten

3

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

hinzu %Vor%

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.

    
yko 17.10.2011, 12:40
quelle
7

Warum installieren Sie das Modul nicht in Ihrem Benutzerverzeichnis auf SourceForge mit local :: lib ?

    
Dave Cross 17.10.2011 12:38
quelle
2

Wenn Sie das JSON -Modul wirklich nicht installieren können, ist es nicht schwer, einen reinen JSON zu schreiben Encoder selbst:

%Vor%

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 true auf 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:

%Vor%

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.

    
Ilmari Karonen 17.10.2011 14:15
quelle

Tags und Links