这些JSON命令有什么区别?

时间:2011-06-23 13:23:08

标签: perl json

$json->encode()to_json()有什么区别?

use JSON;
my $json = JSON->new->allow_nonref;
$json = $json->utf8;

$data->{$id} = $json->encode(\%{$act->{$id}});
$json_string = to_json($data);
来自perldoc JSON的

$json_text = encode_json $perl_scalar
Converts the given Perl data structure to a UTF-8 encoded, binary string.

$json_text = to_json($perl_scalar)
Converts the given Perl data structure to a json string.

$json_text = $json->encode($perl_scalar)
Converts the given Perl data structure (a simple scalar or a reference to a hash or array)
to its JSON representation. Simple scalars will be converted into JSON string or number
sequences, while references to arrays become JSON arrays and references to hashes become
JSON objects. Undefined Perl values (e.g. "undef") become JSON "null" values.  References
to the integers 0 and 1 are converted into "true" and "false".

有什么区别,我什么时候知道使用哪个?

1 个答案:

答案 0 :(得分:3)

它只是JSON功能的功能与OO接口。 OO接口允许您在使用之前配置JSON对象。

请参阅FUNCTIONAL INTERFACE in JSON