Es gibt boolesche Werte in der JSON-Datenstruktur, die ich verwende. Wenn Sie decode_json
aufrufen, um es in eine Perl-Datenstruktur zu konvertieren und an die XMLout
-Funktion von XML::Simple
zu senden, wird ein Fehler ausgegeben, weil XMLout
nicht weiß, wie mit JSON::XS::Boolean
Werten umzugehen ist.Wie kann ich boolesche JSON-Werte für die Ausgabe mit XMLout konvertieren?
Gibt es eine Möglichkeit, die JSON::XS::Boolean
Werte in einer Datenstruktur in XML zu konvertieren?
my $text = '{"a":"x","b":true}';
my $result = decode_json($text);
my $rec = XMLout($result, RootName => 'root', SuppressEmpty => 1);
Im Code abive, erhalte ich die folgenden Fehler - kann keinen Wert vom Typ kodieren: JSON :: XS :: Boolean
A print Dumper $result
gibt:
$result = {
'a' => 'x',
'b' => bless(do{\(my $o = 1)}, 'JSON::XS::Boolean')
};
Ihre Frage ist nicht über JSON, aber es geht darum, wie XML :: Simple den booleschen JSON-Wert erkennt und in seiner Ausgabe codiert. Du solltest diese Frage neu schreiben, damit es Sinn macht, weil ich nicht denke, dass ich reingehen und das Ganze ändern sollte. Haben Sie in Perl auch nicht von einfachen Anführungszeichen gehört? my $ text = '{"ein": "x", "b": wahr}'; Warum sollten andere Ihren Code nicht lesen können? –