У меня есть следующий SQL заявление внутри функции ..возвращение структуры JSON с помощью Perl
my $sth = $dbh->prepare(qq[SELECT device_uuid,device_name FROM ].DB_SCHEMA().qq[.user_device WHERE user_id = ?]);
$sth->execute($user_id) || die $dbh->errstr;
результатов они загружаются с помощью следующего оператора
while(my $data = $sth->fetchrow_arrayref()) {
}
мой вопрос, как я могу создать и вернуть структуру json, содержащую объекты для каждой строки, которая была выбрана?
{
object1:{
"device_uuid1":"id1",
"device_name1":"name1"
},
object2:{
"device_uuid2":"id2",
"device_name2":"name2"
},
object3:{
"device_uuid3":"id3",
"device_name3":"name3"
}
}
общее количество json-объектов будет равно количеству строк, возвращаемых оператором sql. я сумел построить структуру, подобных этой
$VAR1 = [{"device_name":"device1","device_id":"device_id1"},{"device_name":"device2","device_id":"device_id2"}]
как могу я перебирать реф массива и получить «имя_устройство» и значение «device_id»?
Посмотрите на [JSON] (https://metacpan.org/pod/JSON) модуля , – blm
FYI, который вы правильно хотите вывести: '[{...}, {...}, {...}]' <- массив с объектами (хэши) – andlrc
да точно .... – tsiro