[![Build Status](https://travis-ci.org/brummett/Data-Transform-ExplicitMetadata.png?branch=master)](https://travis-ci.org/brummett/Data-Transform-ExplicitMetadata) ## Data::Transform::ExplicitMetadata Transform a Perl data structure into one with basic data types and explicit metadata. This data structure can be safely JSON encoded. ## Description The JSON module can only encode Perl data structures directly representable as JSON strings: simple scalars, arrayrefs and hashrefs. This module transforms a perl data structure into one which may safely be JSON encoded, while maintaining Perl-specific metadata that isn't directly expressable in JSON such as blessed and tied references, self-referential data, typeglobs, reference addresses, etc. When destrializing, it recreates the original data as closely as possible. It also includes a Javascript library to manipulate the data structure created from the JSON string. ## Usage use Data::Transform::ExplicitMetadata; use JSON; my $encoded = Data::Transform::ExplicitMetadata::encode($perl_data); my $json_string = JSON::encode_json($encoded); my $perl_copy = Data::Transform::ExplicitMetadata::decode($encoded);