NAME

MarpaX::ESLIF::JSON - ESLIF's JSON interface

VERSION

version 6.0.30

DESCRIPTION

This is JSON's strict and relax encoder/decoder writen directly in MarpaX::ESLIF library.

There are two JSON modes:

Strict

Encoder and decoder are strict, as per ECMA-404 The JSON Data Interchange Standard.

Relax

This is strict grammar extended with:

Unlimited commas
Trailing separator
Perl style comment
C++ style comment
Infinity
NaN
Unicode's control characters (range [\x00-\x1F]).
Number with non significant zeroes on the left.
Number with a leading + sign.

METHODS

MarpaX::ESLIF::JSON->new($eslif[, $strict])

my $eslifJSON = MarpaX::ESLIF::JSON->new($eslif);

Just a convenient wrapper over MarpaX::ESLIF::JSON::Encoder and MarpaX::ESLIF::JSON::Decoder. Parameters are:

$eslif

MarpaX::ESLIF object instance. Required.

$strict

A true value means strict JSON, else relax JSON. Default is a true value.

$eslifJSON->encode($value)

my $string = $eslifJSON->encode($value);

$eslifJSON->decode($string, %options)

my $value = $eslifJSON->decode($string);

Please refer to MarpaX::ESLIF::JSON::Decoder for the options.

NOTES

Floating point special values

+/-Infinity and +/-NaN are always mapped to Math::BigInt's binf(), binf('-'), bnan(), bnan('-'), respectively.

other numbers

They are always mapped to Math::BigFloat.

AUTHOR

Jean-Damien Durand <jeandamiendurand@free.fr>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Jean-Damien Durand.

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