模块:莫霍::JSON语言

名称

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实现以下功能,这些功能可以单独导入。

解码json

my$value=decode_json$bytes;

将JSON解码为Perl值,如果解码失败则终止。

编码json

my$bytes=encode_json{i=>'令人兴奋的'};

将Perl值编码为JSON。

my$false=false;

False值,因为Perl没有本机等效项。

来自json

my$value=from_json$chars;

解码非UTF-8型编码为Perl值,如果解码失败则死亡。

j个

我的$字节=j[1,2,3];my$bytes=j{i=>'令人兴奋的'};my$value=j$字节;

编码Perl数据结构(只能是数组引用或散列引用)或解码JSON未定义返回值表示一个空无效的或者解码失败。

到json(_Y)

我的$chars=to_json{i=>'令人兴奋的'};

将Perl值编码为JSON文本,无需UTF-8型对其进行编码。

真的

my$true=true;

True值,因为Perl没有本机等效项。

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicious.org.