我尝试做一些看似非常简单的事情,但我无法弄清楚如何在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"
这实际上是我想要作为整体输出的数组的第一个元素。以下是我逐步调试脚本时看到的数组内容:
我想在我的JSON输出中拥有整个结构。我怎样才能做到这一点?
答案 0 :(得分:5)
JSON::encode
只需要一个参数,而不是列表。使用$json->encode( $query )
。