试图在父级下获取perl输出json数据

时间:2011-06-19 10:43:30

标签: mysql perl json

这是我的代码

#DATA SOURCE NAME
my $dsn = "dbi:$platform:$database:$host:$port";

#PERL DBI CONNECT
my $connect = DBI->connect($dsn, $user, $pw) || die "Connecttion Error: $DBI::errstr\n";

#PREPARE THE QUERY
my $query = qq(SELECT author, title FROM books);
my $query_handle = $connect->prepare($query);

#EXECUTE THE QUERY
$query_handle->execute();

#LOOP THROUGH RESULTS
while($row = $query_handle->fetchrow_hashref) {
    push @query_output, $row;
}

#DISCONNECT FROM THE DATABASE
$connect->disconnect();

#JSON OUTPUT
print JSON::to_json(\@query_output);

和输出如下

[{"title":"Android application development for dummies /",
  "author":"Felker, Donn L."},
{"title":"Beginning programming with Java for dummies /",
"author":"Burd, Barry A."}]

但我希望输出看起来像这样

{"books": 
[{"title":"Android application development for dummies /",
  "author":"Felker, Donn L."},
{"title":"Beginning programming with Java for dummies /",
"author":"Burd, Barry A."}]}

要归入“书籍”,我该怎么做?

1 个答案:

答案 0 :(得分:4)

在哈希引用中粘贴对@query_books的引用:

print JSON::to_json( { books => \@query_books } );

有关详情,请参阅Perl References Tutorial