http://www.perlmonks.org?node_id=1098128


in reply to Re^4: Formatting JSON the right way
in thread Formatting JSON the right way

I think you want something more like this:

my @returned_data; while (my $row = $data_handle->fetchrow_hashref()) { push (@returned_data, { 'name' => $row->{NAME}, 'city' => $row->{CITY}, 'state' => $row->{STATE}, }); } $data_handle->finish; print $q->header(-type => "application/json", -charset => "utf-8"); my $json = encode_json \@returned_data; print $json;

Things to note: @returned_data is an array of hashrefs. Each time through the while loop, you grab a row from the database, and push a new hashref into the array (each hashref is like a single record of data). This isn't necessarily the best way to do it - it makes more sense to do it this way when you need to use different key names, or modify the data in some way. If all you want is to dump the database values to the web page "as is", consider the suggestions given here by other monks.