I would try setting it in the config file. See
http://search.cpan.org/~sukria/Dancer2-0.01/lib/Dancer2/Config.pod.
There are YAML and JSON examples for setting UTF-8.
--john
On 9/13/2015 11:56 AM, Kadir Beyazlı wrote:
Hi John,
Now my only problem is encoding JSON data.
My data is Turkish, I was setting charset as follow to display correcty
print $q->header(-content_type => "application/json; charset='utf8');
How will I do it at Dancer2?
I used following 1st and 5th lines but did not solve problem
1 use Encode;
2 while (my $branch = $sth_branch->fetchrow_hashref) {
3 push @$branch_list,
4 { BranchID => $branch->{BranchID},
5 Branch => encode_utf8($branch->{Branch}),
};
}
On Sun, Sep 13, 2015 at 8:43 PM, Kadir Beyazlı <[email protected]> wrote:
Hi John,
Now it is OK me. I am using as follow
while (my $branch = $sth_branch->fetchrow_hashref) {
push @$branch_list,
{ BranchID => $branch->{BranchID},
Branch => 'ali'
};
}
my $result = { total => scalar(@$branch_list),
branch => $branch_list,
success => 'true'
};
set serializer => 'JSON';
return $result;
If I use
set serializer => 'JSON';
I dont need to use to_json as I understand. This is good for me
I also understood why I dont need to define
use JSON
Because it is already ready for me.
Thanks
On Sun, Sep 13, 2015 at 8:29 PM, Richard Jones <[email protected]> wrote:
On 13/09/2015 17:54, Kadir Beyazlı wrote:
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
What happens if you do:
get '/json_branch_list' => sub {
[...]
my $ref = {
BranchID => $branch->{BranchID},
Branch => $branch->{Branch}
};
return to_json($ref);
}
Or even, depending on what is in $branch and what you want to do with it
downstream just return the hashref as-is:
return to_json($branch);
As far I as I know there is no need for 'use JSON', just 'use Dancer2'.
Works for me anyway.
--
Richard Jones
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
--
Kadir Beyazlı
Computer Engineer
GSM : +90 535 821 50 00
--
John J. McDermott, CPLP
Learning and Performance Consultant
jjm at jkintl.com 575/737-8556
Check out my security blog posts
Add an A for the Arts To STEM and get STEAM and a strong engine to move forward.
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users