【问题标题】:how to create a json file from db data cgi如何从 db 数据 cgi 创建一个 json 文件
【发布时间】:2020-10-30 11:00:44
【问题描述】:

我正在尝试从数据库中获取一些信息并将其转换为 json 文件,我的数据库连接和循环工作正常,但是当我尝试将数据打印到屏幕时,我看到的是哈希而不是 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;

【问题讨论】:

  • $datos_json 不可能包含哈希(或对哈希的引用)。

标签: json api perl cgi


【解决方案1】:

我猜你想要一个记录/哈希列表。

所以改变定义

my $datos = '';

my $datos = [];

这样您就可以收集一份清单。还有:

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

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

获取整个数据,而不仅仅是最后一条记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多