Dancer::Serializer::JSON(3pm) User Contributed Perl Documentation Dancer::Serializer::JSON(3pm)NAME
Dancer::Serializer::JSON - serializer for handling JSON data
SYNOPSIS DESCRIPTION
This class is an interface between Dancer's serializer engine abstraction layer and the JSON module.
In order to use this engine, use the template setting:
serializer: JSON
This can be done in your config.yml file or directly in your app code with the set keyword. This serializer will also be used when the
serializer is set to mutable and the correct Accept headers are supplied.
The JSON module will pass configuration variables straight through. Some of these can be useful when debugging/developing your app: pretty
and canonical, and others useful with ORMs like DBIx::Class: allow_blessed and convert_blessed. Please consult the JSON documentation for
more information and a full list of configuration settings. You can add extra settings to the engines configuration to turn these on. For
example:
engines:
JSON:
allow_blessed: '1'
canonical: '1'
convert_blessed: '1'
METHODS
serialize
Serialize a data structure to a JSON structure.
deserialize
Deserialize a JSON structure to a data structure
content_type
Return 'application/json'
perl v5.14.2 2012-02-29 Dancer::Serializer::JSON(3pm)
Check Out this Related Man Page
Data::Serializer::Raw(3pm) User Contributed Perl Documentation Data::Serializer::Raw(3pm)NAME
Data::Serializer::Raw - Provides unified raw interface to perl serializers
SYNOPSIS
use Data::Serializer::Raw;
$obj = Data::Serializer::Raw->new();
$obj = Data::Serializer::Raw->new(serializer => 'Storable');
$serialized = $obj->serialize({a => [1,2,3],b => 5});
$deserialized = $obj->deserialize($serialized);
print "$deserialized->{b}
";
DESCRIPTION
Provides a unified interface to the various serializing modules currently available.
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
EXAMPLES
Please see Data::Serializer::Cookbook(3)METHODS
new - constructor
$obj = Data::Serializer::Raw->new();
$obj = Data::Serializer::Raw->new(
serializer => 'Data::Dumper',
options => {},
);
new is the constructor object for Data::Serializer::Raw objects.
o The default serializer is "Data::Dumper"
o The default options is "{}" (pass nothing on to serializer)
serialize - serialize reference
$serialized = $obj->serialize({a => [1,2,3],b => 5});
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
deserialize - deserialize reference
$deserialized = $obj->deserialize($serialized);
This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)
serializer - change the serializer
Currently supports the following serializers:
Bencode(3)Convert::Bencode(3)Convert::Bencode_XS(3)Config::General(3)Data::Denter(3)Data::Dumper(3)Data::Taxi(3)FreezeThaw(3)JSON(3)JSON::Syck(3)PHP::Serialization(3)Storable(3)XML::Dumper(3)XML::Simple(3)YAML(3)YAML::Syck(3)
Default is to use Data::Dumper.
Each serializer has its own caveat's about usage especially when dealing with cyclical data structures or CODE references. Please see
the appropriate documentation in those modules for further information.
options - pass options through to underlying serializer
Currently is only supported by Config::General(3), and XML::Dumper(3).
my $obj = Data::Serializer::Raw->new(serializer => 'Config::General',
options => {
-LowerCaseNames => 1,
-UseApacheInclude => 1,
-MergeDuplicateBlocks => 1,
-AutoTrue => 1,
-InterPolateVars => 1
},
) or die "$!
";
or
my $obj = Data::Serializer::Raw->new(serializer => 'XML::Dumper',
options => { dtd => 1, }
) or die "$!
";
store - serialize data and write it to a file (or file handle)
$obj->store({a => [1,2,3],b => 5},$file, [$mode, $perm]);
or
$obj->store({a => [1,2,3],b => 5},$fh);
Serializes the reference specified using the serialize method and writes it out to the specified file or filehandle.
If a file path is specified you may specify an optional mode and permission as the next two arguments. See IO::File for examples.
Trips an exception if it is unable to write to the specified file.
retrieve - read data from file (or file handle) and return it after deserialization
my $ref = $obj->retrieve($file);
or
my $ref = $obj->retrieve($fh);
Reads first line of supplied file or filehandle and returns it deserialized.
AUTHOR
Neil Neely <neil@neely.cx>.
http://neil-neely.blogspot.com/
BUGS
Please report all bugs here:
http://rt.cpan.org/Public/Dist/Display.html?Name=Data-Serializer
COPYRIGHT AND LICENSE
Copyright (c) 2011 Neil Neely. 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.2 or,
at your option, any later version of Perl 5 you may have available.
See http://www.perl.com/language/misc/Artistic.html
ACKNOWLEDGEMENTS
Peter Makholm took the time to profile Data::Serializer(3) and pointed out the value of having a very lean implementation that minimized
overhead and just used the raw underlying serializers.
SEE ALSO perl(1), Data::Serializer(3).
perl v5.12.4 2011-08-16 Data::Serializer::Raw(3pm)