--- JSON-XS/XS.pm 2007/08/13 16:05:42 1.57 +++ JSON-XS/XS.pm 2007/09/12 17:42:36 1.61 @@ -83,7 +83,7 @@ use strict; -our $VERSION = '1.44'; +our $VERSION = '1.5'; our @ISA = qw(Exporter); our @EXPORT = qw(to_json from_json); @@ -280,6 +280,51 @@ {"key": "value"} +=item $json = $json->relaxed ([$enable]) + +If C<$enable> is true (or missing), then C will accept some +extensions to normal JSON syntax (see below). C will not be +affected in anyway. I. I suggest only to use this option to +parse application-specific files written by humans (configuration files, +resource files etc.) + +If C<$enable> is false (the default), then C will only accept +valid JSON texts. + +Currently accepted extensions are: + +=over 4 + +=item * list items can have an end-comma + +JSON I array elements and key-value pairs with commas. This +can be annoying if you write JSON texts manually and want to be able to +quickly append elements, so this extension accepts comma at the end of +such items not just between them: + + [ + 1, + 2, <- this comma not normally allowed + ] + { + "k1": "v1", + "k2": "v2", <- this comma not normally allowed + } + +=item * shell-style '#'-comments + +Whenever JSON allows whitespace, shell-style comments are additionally +allowed. They are terminated by the first carriage-return or line-feed +character, after which more white-space and comments are allowed. + + [ + 1, # this comment not allowed in JSON + # neither this one... + ] + +=back + =item $json = $json->canonical ([$enable]) If C<$enable> is true (or missing), then the C method will output JSON objects @@ -623,7 +668,7 @@ =item JSON::XS::true, JSON::XS::false These special values become JSON true and JSON false values, -respectively. You cna alos use C<\1> and C<\0> directly if you want. +respectively. You can also use C<\1> and C<\0> directly if you want. =item blessed objects