在Perl中编码哈希数组

时间:2015-10-21 21:19:01

标签: json perl hash

我尝试做一些看似非常简单的事情,但我无法弄清楚如何在Perl中做到这一点:我想输出一个JSON格式的哈希数组。

有问题的哈希数组实际上是DBIx::MyParse Item个对象实例的数组。这是我的代码:

use strict;
use DBIx::MyParse;
use JSON::PP;
my $json = JSON::PP->new->ascii->pretty->allow_nonref;

our $parser = DBIx::MyParse->new( database => "test", datadir => "/tmp/myparse" );
our $query = $parser->parse("UPDATE table1 SET field1 = 1;");

$json->convert_blessed(1);
print $json->encode(@{$query} );

这就是这个脚本输出的内容:

"SQLCOM_UPDATE"

这实际上是我想要作为整体输出的数组的第一个元素。以下是我逐步调试脚本时看到的数组内容: Query debug value

我想在我的JSON输出中拥有整个结构。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:5)

JSON::encode只需要一个参数,而不是列表。使用$json->encode( $query )