Acme-CPANModules-JSONVariants
view release on metacpan or search on metacpan
JSON is hugely popular, yet very simple. This has led to various
extensions or variants of JSON.
An overwhelmingly popular extension is comments, because JSON is used a
lot in configuration. Another popular extension is dangling (trailing)
comma.
This list catalogs the various JSON variants which have a Perl
implementation on CPAN.
1) JSON5. <https://json5.org/>, "JSON for Humans". Allowing more
whitespaces, single-line comment (C++-style), multiline comment
(C-style), single quote for strings, hexadecimal number literal (e.g.
0x123abc), leading decimal point, trailing decimal point, positive sign
in number, trailing commas.
Perl modules: JSON5, File::Serialize::Serializer::JSON5.
2) HJSON. <https://hjson.org>, Human JSON. A JSON variant that aims to
be more user-friendly by allowing comments, unquoted keys, and optional
commas. It's designed to be easier to read and write by humans.
Perl modules: (none so far).
5) CSON. <https://github.com/bevry/cson>. CofeeScript Object Notation.
JSON-like data serialization format inspired by CoffeeScript syntax. It
allows for a more concise representation of data by leveraging
CoffeeScript's features such as significant whitespace and optional
commas.
Perl modules: (none so far).
6) RJSON. <https://relaxedjson.org/>. Relaxed JSON. Trailing commas,
Optional commas, comments (C-style and C++-style), single-quoted &
backtick-quoted strings as well as bare/unquoted, hash key without value
(value will default to "undef"). It touts itself as "going beyond other
JSON variants, including JSON5."
Perl modules: JSON::Relaxed.
7) JSON::Diffable. Basically just allowing for trailing commas.
8) JSONLines. <https://jsonlines.org>. A more restrictive JSON format,
all JSON records must fit in one line as newline is the record
delimiter. Encoding must be UTF-8. Convention for line-oriented
processing which support JSON. E.g. for CSV replacement.
Perl moduless: JSON::Lines.
9) YAML. <https://yaml.org/>. YAML is a superset of JSON. It allows for
indentation-based syntax and various features like references, heredocs,
etc.
Perl modules: YAML, YAML::PP, among others.
ACME::CPANMODULES ENTRIES
JSON5
Author: KARUPA <https://metacpan.org/author/KARUPA>
File::Serialize::Serializer::JSON5
lib/Acme/CPANModules/JSONVariants.pm view on Meta::CPAN
JSON is hugely popular, yet very simple. This has led to various extensions or
variants of JSON.
An overwhelmingly popular extension is comments, because JSON is used a lot in
configuration. Another popular extension is dangling (trailing) comma.
This list catalogs the various JSON variants which have a Perl implementation on
CPAN.
1) **JSON5**. <https://json5.org/>, "JSON for Humans". Allowing more
whitespaces, single-line comment (C++-style), multiline comment (C-style),
single quote for strings, hexadecimal number literal (e.g. 0x123abc), leading
decimal point, trailing decimal point, positive sign in number, trailing commas.
Perl modules: <pm:JSON5>, <pm:File::Serialize::Serializer::JSON5>.
2) **HJSON**. <https://hjson.org>, Human JSON. A JSON variant that aims to be
more user-friendly by allowing comments, unquoted keys, and optional commas.
It's designed to be easier to read and write by humans.
lib/Acme/CPANModules/JSONVariants.pm view on Meta::CPAN
5) **CSON**. <https://github.com/bevry/cson>. CofeeScript Object Notation.
JSON-like data serialization format inspired by CoffeeScript syntax. It allows
for a more concise representation of data by leveraging CoffeeScript's features
such as significant whitespace and optional commas.
Perl modules: (none so far).
6) **RJSON**. <https://relaxedjson.org/>. Relaxed JSON. Trailing commas,
Optional commas, comments (C-style and C++-style), single-quoted &
backtick-quoted strings as well as bare/unquoted, hash key without value (value
will default to `undef`). It touts itself as "going beyond other JSON variants,
including JSON5."
Perl modules: <pm:JSON::Relaxed>.
7) **<pm:JSON::Diffable>**. Basically just allowing for trailing commas.
8) **JSONLines**. <https://jsonlines.org>. A more restrictive JSON format, all
JSON records must fit in one line as newline is the record delimiter. Encoding
must be UTF-8. Convention for line-oriented processing which support JSON. E.g.
for CSV replacement.
Perl moduless: <pm:JSON::Lines>.
9) **YAML**. <https://yaml.org/>. YAML is a superset of JSON. It allows for
indentation-based syntax and various features like references, heredocs, etc.
Perl modules: <pm:YAML>, <pm:YAML::PP>, among others.
MARKDOWN
our $LIST = {
summary => 'List of JSON variants/extensions',
description => $text,
lib/Acme/CPANModules/JSONVariants.pm view on Meta::CPAN
JSON is hugely popular, yet very simple. This has led to various extensions or
variants of JSON.
An overwhelmingly popular extension is comments, because JSON is used a lot in
configuration. Another popular extension is dangling (trailing) comma.
This list catalogs the various JSON variants which have a Perl implementation on
CPAN.
1) B<JSON5>. L<https://json5.org/>, "JSON for Humans". Allowing more
whitespaces, single-line comment (C++-style), multiline comment (C-style),
single quote for strings, hexadecimal number literal (e.g. 0x123abc), leading
decimal point, trailing decimal point, positive sign in number, trailing commas.
Perl modules: L<JSON5>, L<File::Serialize::Serializer::JSON5>.
2) B<HJSON>. L<https://hjson.org>, Human JSON. A JSON variant that aims to be
more user-friendly by allowing comments, unquoted keys, and optional commas.
It's designed to be easier to read and write by humans.
lib/Acme/CPANModules/JSONVariants.pm view on Meta::CPAN
Perl modules: (none so far).
5) B<CSON>. L<https://github.com/bevry/cson>. CofeeScript Object Notation.
JSON-like data serialization format inspired by CoffeeScript syntax. It allows
for a more concise representation of data by leveraging CoffeeScript's features
such as significant whitespace and optional commas.
Perl modules: (none so far).
6) B<RJSON>. L<https://relaxedjson.org/>. Relaxed JSON. Trailing commas,
Optional commas, comments (C-style and C++-style), single-quoted &
backtick-quoted strings as well as bare/unquoted, hash key without value (value
will default to C<undef>). It touts itself as "going beyond other JSON variants,
including JSON5."
Perl modules: L<JSON::Relaxed>.
7) B<< L<JSON::Diffable> >>. Basically just allowing for trailing commas.
8) B<JSONLines>. L<https://jsonlines.org>. A more restrictive JSON format, all
JSON records must fit in one line as newline is the record delimiter. Encoding
must be UTF-8. Convention for line-oriented processing which support JSON. E.g.
for CSV replacement.
Perl moduless: L<JSON::Lines>.
9) B<YAML>. L<https://yaml.org/>. YAML is a superset of JSON. It allows for
indentation-based syntax and various features like references, heredocs, etc.
Perl modules: L<YAML>, L<YAML::PP>, among others.
=head1 ACME::CPANMODULES ENTRIES
=over
=item L<JSON5>
( run in 0.700 second using v1.01-cache-2.11-cpan-e1769b4cff6 )