use Test::More; use strict; BEGIN { plan tests => 12 }; use JSON; my $json = new JSON; my ($js,$obj); $obj = {"id" => JSON::Number("1.02")}; { local $JSON::AUTOCONVERT = 0; $js = objToJson($obj); is($js,'{"id":1.02}'); $js = $json->objToJson($obj); is($js,'{"id":1.02}'); } $js = $json->objToJson($obj); is($js,'{"id":1.02}'); $obj = {"id" => "1.02"}; { local $JSON::AUTOCONVERT = 0; $js = objToJson($obj); is($js,'{"id":"1.02"}'); $json->autoconv(0); $js = $json->objToJson($obj); is($js,'{"id":"1.02"}'); } $js = objToJson($obj); is($js,'{"id":1.02}'); $js = $json->objToJson($obj); is($js,'{"id":"1.02"}'); $json->autoconv(1); $js = $json->objToJson($obj); is($js,'{"id":1.02}'); $obj = {"id" => 1.02}; { local $JSON::AUTOCONVERT = 0; $js = objToJson($obj); # is($js,'{"id":"1.02"}'); is($js,'{"id":1.02}'); # Since JSON 1.12, works correctly even though non autoconv. } $js = objToJson($obj); is($js,'{"id":1.02}'); $json = new JSON (autoconv => 0); $js = $json->objToJson($obj); # is($js,'{"id":"1.02"}'); is($js,'{"id":1.02}'); # Since JSON v1.12, works correctly even though non autoconv. $json = new JSON (autoconv => 1); $js = $json->objToJson($obj); is($js,'{"id":1.02}');