table of contents
TM::Serializable::JTM(3pm) | User Contributed Perl Documentation | TM::Serializable::JTM(3pm) |
NAME¶
TM::Serializable::JTM - Topic Maps, trait for reading/writing JSON Topic Map instances.
SYNOPSIS¶
# NOTE: this is not an end-user package, # see TM::Materialized::JTM for common application patterns # reading JSON/YAML: my $tm=TM->new(...); Class::Trait->apply($tm,"TM::Serializable::JTM"); $tm->deserialize($jsondata); # writing JSON/YAML: # ...a map $tm is instantiated somehow Class::Trait->apply($tm,"TM::Serializable::JTM"); my $yamltext=$tm->serialize(format=>"yaml");
DESCRIPTION¶
This trait provides functionality for reading and writing Topic Maps in JTM (JSON Topic Map) format, as defined here: <http://www.cerny-online.com/jtm/1.0/>.
Limitations:
- Variants are not supported by TM.
- Reification of basenames, occurrences and roles is not supported by TM.
- Multiple scopes are not supported by TM.
INTERFACE¶
Methods¶
- deserialize
- This method take a string and parses JTM content from it. It will raise an
exception on any parsing error. On success, it will return the map object.
The method understands one key/value parameter pair:
- •
- format (choices: "json",
"yaml")
This option controls whether the JTM is expected to be in JSON format or in YAML (which is a superset of JSON).
If no format parameter is given but the TM::Materialized::JTM trait is used, then the format is inherited from there; otherwise the default is "json".
- serialize
- This method serializes the map object in JTM notation and returns the
result as a string.
The method understands one key/value parameter pair:
- •
- format (choices: "json",
"yaml")
This option controls whether the JTM result should be created in the JSON format or in YAML (which is a superset of JSON).
If no format parameter is given but the TM::Materialized::JTM trait is used, then the format is inherited from there; otherwise the default is "json".
SEE ALSO¶
TM, TM::Serializable
AUTHOR INFORMATION¶
Copyright 2010, Alexander Zangerl, All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html
2019-09-07 | perl v5.28.1 |