Skip to content
yuki-kimoto edited this page May 29, 2012 · 10 revisions

Mojolicious API リファレンス

名前

Mojo::JSON - 最小限の JSON

使い方

use Mojo::JSON;

my $json   = Mojo::JSON->new;
my $string = $json->encode({foo => [1, 2], bar => 'hello!'});
my $hash   = $json->decode('{"foo": [3, -2, 1]}');

説明

Mojo::JSON は最小限かつ緩やかな RFC4627 の実装です。 おそらくは、利用可能な最速の pure-Perl JSON パーサですが、 妥当性検証には利用するべきではありません。

これは Scalar, Array, Hash のような通常の Perl のデータ形式を サポートしますが、bless されたリファレンスはサポートしません。

[1, -2, 3]     -> [1, -2, 3]
{"foo": "bar"} -> {foo => 'bar'}

リテラル名は、Mojo::JSON 定数や、類似した Perl 固有の値と相互に変換されます。

true  -> Mojo::JSON->true
false -> Mojo::JSON->false
null  -> undef

UTF-16 (LE/BE) や UTF-32 (LE/BE) のデコードは透過的に扱われますが、 エンコードでは UTF-8 のみを生成します。

属性

Mojo::JSON は以下の属性を実装します。

error

my $error = $json->error;
$json     = $json->error('Oops!');

パーサエラー。

メソッド

Mojo::JSONMojo::Base の全てのメソッドを継承しており、 以下の新しいメソッドを実装しています。

decode

my $array = $json->decode('[1, 2, 3]');
my $hash  = $json->decode('{"foo": "bar"}');

JSON 文字列のデコード。

encode

my $string = $json->encode({foo => 'bar'});

Perl データ構造のエンコード。

false

my $false = Mojo::JSON->false;
my $false = $json->false;

負値 (Perl が同等の値を持たないため使用されます)。

true

my $true = Mojo::JSON->true;
my $true = $json->true;

正値 (Perl が同等の値を持たないため使用されます)。

参考

Mojolicious, Mojolicious::Guides, http://mojolicio.us.

(2012/5/28更新)

Clone this wiki locally