in reply to Re^3: Is there a way to make a JSON out of multiple records from MySQL?
in thread Is there a way to make a JSON out of multiple records from MySQL?
To be clear,I left the line number out because it means nothing, but it is definitely on the line:
my $json = encode_json($arrayref, $typehint_raws);
Using print Dumper I verify that:
*$typehint_raws becomes one empty array for each record found
*$typehint_raw is a hash which has each column and and whether it's an int or string
Once again, everything works, but each call to the above line returns that error.
Here's the code I use to retrieve each record....
$data = readRaw(table name); sub readRaw { my ($rawfilename) = @_; my $dbCommand = 'select '.join ',', @rawFields; $dbCommand .= qq^ from $rawfilename;^; $dbHandle=$db->prepare($dbCommand); $dbHandle->execute(); my $data = $dbHandle->fetchall_arrayref(); $dbHandle->finish; foreach my $rows (@$data) { my %GenericData; @GenericData{ @rawFields } = @$rows; # NOTE added push @rawRecords, \%GenericData; } return \@rawRecords; }
So I have an array of arrays, but each array holds the reference to a hash for each record read
And $data is passed to this function
sub makeJSONToExport { my ($arrayref) = @_; my $typehint_raw = { age => JSON_TYPE_INT, lastname => JSON_TYPE_STRING, firstname => JSON_TYPE_STRING}; my $typehint_raws = [ ($typehint_raw) x @$arrayref]; my $json = encode_json($arrayref, $typehint_raws); return $json; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Is there a way to make a JSON out of multiple records from MySQL?
by hippo (Archbishop) on May 12, 2022 at 10:28 UTC | |
by bartender1382 (Beadle) on May 12, 2022 at 21:16 UTC | |
by bartender1382 (Beadle) on May 12, 2022 at 18:44 UTC | |
by AnomalousMonk (Archbishop) on May 12, 2022 at 21:08 UTC | |
by bartender1382 (Beadle) on May 12, 2022 at 23:14 UTC | |
by AnomalousMonk (Archbishop) on May 13, 2022 at 05:50 UTC | |
|