как создать json файл из данных db cgi - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь получить некоторую информацию из базы данных и преобразовать ее в файл json, мое соединение с базой данных и l oop работает нормально, но когда я пытаюсь распечатать данные на экране, я вижу ha sh вместо данных json.

my $query = "SELECT * FROM names";
my $conneccion = $DB_CONNECTION->prepare($query);
$conneccion->execute();

my $datos = '';
my $db_data = '';

while ($db_data = $conneccion->fetchrow_hashref()) {
    my $nombre = $db_data->{nombre};
    my $titulo   = $db_data->{titulo};

    $datos = {
        nombre => $nombre,
        titulo => $titulo, 
    };
}
 
 
use JSON::MaybeXS qw(encode_json decode_json);

my $datos_json = encode_json $datos;
say $datos_json;

1 Ответ

3 голосов
/ 10 июля 2020

Думаю, вам нужен список записей / хэшей.

Поэтому измените определение

my $datos = '';

на

my $datos = [];

, чтобы вы могли собрать список . А также: от

$datos = {
    nombre => $nombre,
    titulo => $titulo, 
};

до

push @$datos, {
    nombre => $nombre,
    titulo => $titulo, 
};

, чтобы получить все данные, а не только последнюю запись.

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