The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Devel::JSON - Easy JSON output for one-liners

SYNOPSIS

$ perl -d:JSON -e '[ 1..3 ]'
[
    1,
    2,
    3
]

$ perl -d:JSON -e '{b => 2, c => 4}'
{
    "b": 2,
    "c": 4
}

Default output encoding is UTF-x if this is the charset of the locale:

$ perl -d:JSON -e "qq<\N{SNOWMAN}>"
"☃"

Force ASCII output:

$ perl -d:JSON=ascii -e "qq<\N{SNOWMAN}>"
"\u2603"

Booleans:

$ perl -d:JSON -MJSON::PP -e 'JSON::PP::true'
true

DESCRIPTION

If you use this module from the command-line, the last value of your one-liner (-e) code will be serialized as JSON data. The expression is evaluated in scalar context.

The output will be either UTF-x (UTF-8, UTF-16...) or just ASCII, depending on your locale (check LC_CTYPE on Unix or GNU).

As a convenience (because you may want to deal with non-ASCII content in your -e source), your code is converted from bytes using the current locale.

The following JSON options are enabled by default:

pretty
canonical
allow_nonref

You can enable more options by giving import arguments (a '-' prefix disables the option):

# Force ASCII output
$ perl -d:JSON=ascii -e '[1..3]'

# Disable pretty (note '-' before the name)
$ perl -d:JSON=-pretty -e '[1..3]'

# Non-ASCII in -e
$ perl -d:JSON=ascii -e '"Mengué"'
"Mengu\u00e9"

SEE ALSO

JSON, JSON::MaybeXS, json-to (App::JSON::to).

AUTHOR

Olivier Mengué, mailto:dolmen@cpan.org.

COPYRIGHT & LICENSE

Copyright © 2017 Olivier Mengué.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.