我的哈希包含UTF-8字符的字符串,例如:
$hash = { text => 'Dragón' };
当我使用JSON :: XS将其编码为JSON时,我得到类似这样的内容:
{"text":"Dragón"}
虽然看起来很丑,但是很有效,但我想得到这样的东西:
{"text":"Drag\u00f3n"}
这可能吗?
答案 0 :(得分:3)
->ascii
会将输出限制为US-ASCII字符。
my $json = JSON::XS->new->ascii;
my $text = $json->encode($hash);
答案 1 :(得分:3)
use JSON::XS ();
use JSON; # uses JSON::XS by default (if available)
$json_text = to_json( { text => 'Dragón' }, { 'ascii' => 1 } );