【发布时间】:2009-06-22 14:48:12
【问题描述】:
我使用的 JSON 数据结构中有布尔值。当调用decode_json 将其转换为Perl 数据结构并提供给XML::Simple 提供的XMLout 函数时,它会抛出错误,因为XMLout 不知道如何处理JSON::XS::Boolean 值。
有没有办法将数据结构中的JSON::XS::Boolean 值转换为 XML?
my $text = '{"a":"x","b":true}';
my $result = decode_json($text);
my $rec = XMLout( $result, RootName => 'root', SuppressEmpty => 1);
在上面的代码中,我收到以下错误 - 无法编码类型的值:JSON::XS::Boolean
print Dumper $result 给出:
$result = {
'a' => 'x',
'b' => bless( do{\(my $o = 1)}, 'JSON::XS::Boolean' )
};
【问题讨论】:
-
您的问题不是关于 JSON,而是关于如何获取 XML::Simple 以识别 JSON 布尔值并将其编码到其输出中。你应该重写这个问题,这样才有意义,因为我认为我不应该去改变整个事情。另外,您没有听说过 Perl 中的单引号吗?我的 $text = '{"a" : "x", "b": true}';为什么让其他人难以阅读您的代码?
标签: perl json xml-simple