Mojo::JSON-简约JSON
使用Mojo::JSON qw(decode_JSON encode_JSON);my$bytes=encodejson{foo=>[1,2],bar=>'hello!',baz=>\1};my$hash=解码json$bytes;
Mojo::JSON是最简单的,可能是最快的pure-Perl实现副本请求8259.
它支持普通的Perl数据类型,如标量、数组引用、散列引用,并将尝试调用TO_JSON(_J)
方法,如果不存在,则将其字符串化。在Perl中很难区分字符串和数字,这取决于它的使用方式,标量可以同时是两者。除非两种表示形式等效,否则字符串值具有更高的优先级。
[1, -2, 3] -> [1, -2, 3]{“foo”:“bar”}->{foo=>'bar'}
字面名称将被转换为Mojo::JSON常量或类似的本地Perl值。
true->Mojo::JSON->truefalse->Mojo::JSON->falsenull->未定义
此外,标量引用将用于生成布尔值,具体取决于它们的值是true还是false。
\1->真\0->假
角色/
将始终进行转义以防止XSS攻击。
“</script>”->“<\\script>”
为了获得更好的性能,可选模块面板::JSON::XS如果可能,将自动使用(4.09+)。也可以使用禁用MOJO_NO_JSON_XS
环境变量。
Mojo::JSON实现以下功能,这些功能可以单独导入。
my$value=decode_json$bytes;
将JSON解码为Perl值,如果解码失败则终止。
my$bytes=encode_json{i=>'♥ 令人兴奋的'};
将Perl值编码为JSON。
my$false=false;
False值,因为Perl没有本机等效项。
my$value=from_json$chars;
解码非UTF-8型
编码为Perl值,如果解码失败则死亡。
我的$字节=j[1,2,3];my$bytes=j{i=>'♥ 令人兴奋的'};my$value=j$字节;
编码Perl数据结构(只能是数组引用或散列引用)或解码JSON未定义
返回值表示一个空无效的
或者解码失败。
我的$chars=to_json{i=>'♥ 令人兴奋的'};
将Perl值编码为JSON文本,无需UTF-8型
对其进行编码。
my$true=true;
True值,因为Perl没有本机等效项。
Mojolicious公司,Mojolicious::指南,https://mojolicious.org.