JSON: JSON-JSON (JavaScript 对象标记) 编码/解码 简介: use JSON; # imports encode_json, decode_json, to_json and from_json. ##简单和快速接口(期望/生产 UTF-8) $utf8_encoded_json_text = encode_json $perl_hash_or_arrayref; $perl_hash_or_arrayref = decode_json $utf8_encoded_json_text; 面对对象接口: $json = JSON->new->allow_nonref; $json_text = $json->encode( $perl_scalar );
$perl_scalar = $json->decode( $json_text ); $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing 生产json 格式: [root@dr-mysql01 ~]# cat a3.pl
use JSON qw/encode_json decode_json/;
my $data = [
{
'name' => '灰灰',
'age' => 19
},
{
'name' => '丽丽',
'age' => 25
}
]; my $json_out = encode_json($data);
print $json_out;
print "\n";
You have mail in /var/spool/mail/root
[root@dr-mysql01 ~]# perl a3.pl
[{"age":19,"name":"ç°ç°"},{"name":"丽丽","age":25}] [root@dr-mysql01 ~]# cat a3.pl
use JSON qw/encode_json decode_json/;
use Encode; my $data = [
{
'name' => '灰灰',
'age' => 19
},
{
'name' => '丽丽',
'age' => 25
}
]; $json = JSON->new->allow_nonref; $json_out = $json->encode( $data ); print $json_out;
print "\n";
[root@dr-mysql01 ~]# perl a3.pl
[{"age":19,"name":"灰灰"},{"name":"丽丽","age":25}] encode_json: $json_text = encode_json $perl_scalar 转换给定的perl 数据结构为一个UTF-8 encoded,binary 字符串: $json_text = JSON->new->utf8->encode($perl_scalar) decode_json $perl_scalar = decode_json $json_text 与encode_json 相反,期望一个UTF-8(2进制的)字符串和尝试 解析一个UTF-8 encoded JSON 文本, 返回一个结果引用