NAME
Egg::Release::JSON - JSON for Egg::View.
SYNOPSIS
Configuration.
VIEW => [
.....
[ JSON => {
content_type => 'text/javascript+json',
charset => 'UTF-8',
option => { pretty => 1, indent => 2 },
} ],
],
Example code.
$e->default_view('JSON')->obj({
hoge=> 'boo',
baaa=> 'wii',
});
* It leaves it to the operation of Egg now.
DESCRIPTION
It is VIEW to output JSON.
JSON is output by the 'objToJson' function of "JSON " module.
see JSON.
CONFIGURATION
Please add JSON to the setting of VIEW.
VIEW => [
......
...
[ JSON => {
.......
...
} ],
],
content_type
Contents type when JSON is output.
Default is 'text/javascript+json'.
charset
Character set when JSON is output.
Default is 'UTF-8'.
option
Option to pass to objToJson function of JSON module.
option=> { pretty => 1, indent => 2 },
see JSON;
* When following 'x_json' is made effective, the inconvenience is generated because the JSON code is molded when option is set.
x_json
When an effective value is set, it comes always to output the JSON data to 'X-JSON' of the response header. When the JSON data is treated with Prototype.js, this is convenient.
* This value invalidates and is good at the thing individually made effective by the 'x_json' method.
Default is 0.
METHODS
obj ( {[HASH or ARRAY or etc.]} )
The data to give it to the objToJson function of JSON module is maintained.
It is necessary to define some values like being undefined the first stage.
The value set to call it without giving anything is returned.
# ARRAY is defined.
my $array= $e->view('JSON')->obj([]);
# HASH is defined.
my $hash= $e->view('JSON')->obj({});
x_json ( [BOOL] )
Response header (X-JSON) contains the JSON code.
* Please refer to 'x_json' of CONFIGURATION.
$e->view('JSON')->x_json(1);
# Output response header.
Content-Type: text/javascript+json; charset=utf-8
X-JSON: ({"hoge":11111,"boo":22222})
When 'x_json' is effective, the contents header comes to be output it always followed.
<div>JSON sees in the response header.</div>
render
The result of the objToJson function of JSON module is returned.
my $view= $e->view('JSON');
my $obj= $view->obj({});
$obj->{hoge}= '11111';
$obj->{booo}= '22222';
my $json_js= $view->render($obj);
output
It is not necessary to call it from the project code because it is called by the operation of Egg usually.
SEE ALSO
AUTHOR
Masatoshi Mizuno <lushe@cpan.org>
COPYRIGHT
Copyright (C) 2007 by Bee Flag, Corp. <http://egg.bomcity.com/>, All Rights Reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 45:
L<> starts or ends with whitespace