logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

MooseX::Storage::Format::JSON - A JSON serialization role

Authors

       •   Chris Prather <chris.prather@iinteractive.com>

       •   Stevan Little <stevan.little@iinteractive.com>

       •   יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

Methods

freezethaw($json)

Name

       MooseX::Storage::Format::JSON - A JSON serialization role

Support

       Bugs         may        be        submitted        through        the        RT        bug        tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Storage>   (or   bug-MooseX-Storage@rt.cpan.org
       <mailto:bug-MooseX-Storage@rt.cpan.org>).

       There    is    also    a    mailing    list    available    for    users   of   this   distribution,   at
       <http://lists.perl.org/list/moose.html>.

       There is also an irc channel available for users of this  distribution,  at  "#moose"  on  "irc.perl.org"
       <irc://irc.perl.org/#moose>.

Synopsis

         package Point;
         use Moose;
         use MooseX::Storage;

         with Storage('format' => 'JSON');

         has 'x' => (is => 'rw', isa => 'Int');
         has 'y' => (is => 'rw', isa => 'Int');

         1;

         my $p = Point->new(x => 10, y => 10);

         ## methods to freeze/thaw into
         ## a specified serialization format
         ## (in this case JSON)

         # pack the class into a JSON string
         $p->freeze(); # { "__CLASS__" : "Point", "x" : 10, "y" : 10 }

         # unpack the JSON string into a class
         my $p2 = Point->thaw('{ "__CLASS__" : "Point", "x" : 10, "y" : 10 }');

Version

       version 0.53

See Also