JSONY/lib/JSONY.pod
=pod
=for comment
DO NOT EDIT. This Pod was generated by Swim v0.1.48.
See http://github.com/ingydotnet/swim-pm#readme
=encoding utf8
=head1 NAME
JSONY - Relaxed JSON with a little bit of YAML
=for html
<a href="https://travis-ci.org/ingydotnet/jsony-pm"><img src="https://travis-ci.org/ingydotnet/jsony-pm.png" alt="jsony-pm"></a>
=head1 VERSION
This document describes L<JSONY> version B<0.1.21>.
=head1 SYNOPSIS
use JSONY;
my $data = JSONY->new->load($jsony_string);
=head1 DESCRIPTION
JSONY is a data language that is simlar to JSON, just more chill. All valid
JSON is also valid JSONY (and represents the same thing when loaded), but
JSONY lets you omit a lot of the syntax that makes JSON a pain to write.
=head1 API
JSONY has one instance method: C<load>. You pass it a JSONY string and it
returns the loaded Perl data object.
=head1 JSONY SYNTAX
Here is some examples of JSONY followed by equivalent JSON:
Words don't need quotes. A list of things is an array:
foo bar baz
[ "foo", "bar", "baz" ]
Strings with spaces can use single or double quotes:
'foo bar' # <= This is (a comment indicating) a string
# More commenting
"baz boom "
[ "foo bar ", "baz boom " ]
Top level hashes can be ':' separated pairs or use curlies. Sub hashes
require curlies.
foo: { bar baz }
num: -1.2e3
{ "foo": { "bar": "baz" }, "num": -1.2e3 }
Top level arrays can use C<'- '> at the start of lines. Those arrays go the
end of line. Lines can be continued using a trailing comma. Sub arrays require
square brackets.
- array of 4 scalars
- array with [ sub
array { of
things }]
- array of 7 things on,
two lines
[
[ "array", "of", 4, "scalars" ],
[ "array", "with", [ "sub", "array", { "of": "things" } ] ],
[ "array", "of", 7, "things", "on", "two", "lines" ]
]
NOTE: You may want to look at the tests (especially C<t/load.t>) to see the
full abilities of JSONY.
=head1 STATUS
JSONY has been in use for well over a year. It seems to working well.
Development people are working on this in C<#jsony> and C<#pegex> in
irc.freenode.net. Please drop by.
JSONY.pm is a very simple Pegex-based parser. You can see the quite tiny JSONY
grammar here: L<http://github.com/ingydotnet/jsony-pgx/blob/master/jsony.pgx>
L<http://jsony.org> coming soon.
=head1 AUTHORS
=over
=item * Ingy döt Net (ingy) <ingy@cpan.org>
=item * Matt S. Trout (mst) <mst@shadowcat.co.uk>
=back
=head1 COPYRIGHT AND LICENSE
Copyright 2012-2020. Ingy döt Net.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
See L<http://www.perl.com/perl/misc/Artistic.html>
=cut