пытаясь получить Perl выходных данных JSON под родителем - PullRequest
2 голосов
/ 19 июня 2011

Вот мой код

#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 Ответ

4 голосов
/ 19 июня 2011

Вставьте ссылку на @query_books внутри ссылки на хэш:

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

Подробнее см. В Справочнике по Perl .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...