Wie konvertiert man einen einfachen Hash in JSon in Perl?
Ich bin mit dem folgenden code zu Kodieren eine einfache hash -
use JSON;
my $name = "test";
my $type = "A";
my $data = "1.1.1.1";
my $ttl = 84600;
@rec_hash = ('name'=>$name, 'type'=>$type,'data'=>$data,'ttl'=>$ttl);
aber ich bekomme die folgende Fehlermeldung:
hash- or arrayref expected <not a simple scalar, use allow_nonref to allow this>
InformationsquelleAutor der Frage Steve | 2011-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code scheint zu fehlen einige wichtige Stücke, also fügen wir die fehlenden bits (ich werde einige Annahmen hier) und korrigieren Sie die Dinge, wie wir gehen.
Fehlende boilerplate.
Machen den hash ein hash ist und nicht ein array und vergessen Sie nicht zu lokalisieren:
my %
Tatsächlich die
encode_json
Methode (übergabe eine hashref):Ausgabe das Ergebnis:
Und das funktioniert, wie ich es erwarten würde, ohne Fehler.
InformationsquelleAutor der Antwort Quentin
Versuchen
%rec_hash = ...
statt.@
zeigt eine Liste/array, während%
zeigt einen hash.InformationsquelleAutor der Antwort Marius Kjeldahl