Hi All, I understood my mistake, last line of my code was:
return $branch_list; but it should be return @\$branch_list; But I have one more problem, how I can I set character set of JSON data to utf8? I was doing it as follow as I wrote at my 1st mail print $q->header(-content_type => "application/json; charset='utf8'); Now, how I will do it? Also why am I unable to use : use JSON which is general way? On Sun, Sep 13, 2015 at 7:54 PM, Kadir Beyazlı <[email protected]> wrote: > Hi All, > > I will return JSON data from a route. > If I don't use Dancer2 framework, I do it as follow and it works: > > sub json_branch_list { > > my $sth_branch = $dbh->prepare > (qq(SELECT BranchID,Branch > FROM branch > WHERE Deleted=0 > )); > > $sth_branch->execute || die 'SQL_ERROR'; > > my $branch_list = []; > > while (my $branch = $sth_branch->fetchrow_hashref) { > > push @$branch_list, > { BranchID => $branch->{BranchID}, > Branch => $branch->{Branch} > }; > } > > use JSON; > > my $result = { total => scalar(@$branch_list), > branch => $branch_list, > success => JSON::true > }; > > print $q->header(-content_type => "application/json; charset='utf8'); > > print to_json($result); > > exit; > } > > At Dancer2, when I write below definition : > > use JSON; > > it does not allow with a warning that to_json and from_json functions > are duplicated. I of course know that Dancer2 is using following > definition > > set serializer => 'JSON'; > > But I still could not achieve returnin JSON data: Here my route is > > get '/json_branch_list' => sub { > > my $sth_branch = database->prepare > (qq(SELECT BranchID,Branch > FROM branch > WHERE Deleted=0 > )); > > $sth_branch->execute || die 'SQL_ERROR'; > > my $branch_list = []; > > while (my $branch = $sth_branch->fetchrow_hashref) { > > push @$branch_list, > { BranchID => $branch->{BranchID}, > Branch => $branch->{Branch} > }; > } > > set serializer => 'JSON'; > > return $branch_list; > }; > > No data is displayed > > -- > Kadir Beyazlı > Computer Engineer > GSM : +90 535 821 50 00 -- Kadir Beyazlı Computer Engineer GSM : +90 535 821 50 00 _______________________________________________ dancer-users mailing list [email protected] http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
