Test::JSON - Test JSON data Version 0.06 use Test::JSON; is_valid_json $json, '... json is well formed'; is_json $json, $expected_json, '... and it matches what we expected'; is_valid_json is_json JavaScript Object Notation (JSON) is a lightweight data interchange format. Test::JSON makes it easy to verify that you have built valid JSON and that it matches your expected output. See <http://www.json.org/> for more information.

is_valid_json
is_valid_json $json, '... json is well formed'; Test passes if the string passed is valid JSON.

is_json
is_json $json, $expected_json, '... and it matches what we expected'; Test passes if the two JSON strings are valid JSON and evaluate to the same data structure. Test::Differences is used to provide easy diagnostics of why the JSON structures did not match. For example: Failed test '... and identical JSON should match' in t/10testjson.t at line 14. +----+---------------------------+---------------------------+ | Elt|Got |Expected | +----+---------------------------+---------------------------+ | 0|{ |{ | | 1| bool => '1', | bool => '1', | | 2| description => bless( { | description => bless( { | | 3| value => undef | value => undef | | 4| }, 'JSON::NotString' ), | }, 'JSON::NotString' ), | | 5| id => '1', | id => '1', | * 6| name => 'foo' | name => 'fo' * | 7|} |} | +----+---------------------------+---------------------------+ Curtis "Ovid" Poe, "<ovid@cpan.org>" Please report any bugs or feature requests to "bug-test-json@rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-JSON>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. This test module uses JSON::Any and Test::Differences. The development of this module was sponsored by Kineticode, <http://www.kineticode.com/>, the leading provider of services for the Bricolage content management system, <http://www.bricolage.cc/>. Thanks to Makamaka Hannyaharamitu "makamaka@cpan.org" for a patch to make this work with JSON 2.0. Thanks to Stevan Little for suggesting a switch to JSON::Any. This makes it easier for this module to work with whatever JSON module you have installed. Copyright 2005-2007 Curtis "Ovid" Poe, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.