NAME
Waft::JSON - JSON extensions for Waft
SYNOPSIS
package MyWebApp;
use Waft with => '::JSON'; # for Waft 0.9905 or later
or
package MyWebApp;
use base qw( Waft::JSON Waft );
DESCRIPTION
Waft テンプレートのアウトプットプロセスにおいて、JSON への変換機能を提供する。
TEMPLATE PROCESS
Waft では、テンプレートファイル内の "<%" と "%>" で囲まれた部分はスクリプト レットとして処理され、Waft 標準では、"<%word=" などのエスケープ補助機能が 提供されている。
本モジュールは、新たに "<%json=" で指定できる、JSON への変換機能を提供する。 "<%json=" と "%>" で囲まれた部分は、JSON モジュールにより、JSON へ変換後、 出力される。
データがハッシュリファレンスの場合、
<% my $data_hashref = { foo => 1, bar => 2 }; %>
<%json= $data_hashref %>
{"bar":2,"foo":1}
と出力され、データが配列リファレンスの場合、
<% my $data_arrayref = [1, 2, 3, 4, 5]; %>
<%json= $data_arrayref %>
[1,2,3,4,5]
と出力される。 また、混在の場合も、
<% my $data_hashref = { foo => 1, bar => [2, 3, 4] }; %>
<%json= $data_hashref %>
{"bar":[2,3,4],"foo":1}
のように出力される。
本機能は、Ajax リクエストへのレスポンス処理を想定して作成したものである。 JavaScript では、JSON はそのままオブジェクトとして解釈されるため、 Ajax のコールバック処理時のレスポンスデータとして扱いやすくなる。
Waft::JS や Waft::jQuery と組み合わせて使用すると、Ajax 開発の補助 となるはずである。
AUTHOR
Shingo Murata, <murata@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2009 by Shingo Murata
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 123:
=back without =over