2011-06-19 43 views
2

這裏下的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."}]} 

被歸類爲「書籍」,我該怎麼做?

回答

4

棒散列引用內部向@query_books的引用:

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

更多見Perl References Tutorial

+0

謝謝,我得到了我想要的輸出^^ – kelvinli3w