#!/usr/bin/perl use JSON::Path; $json = q({ "key": "value", "object": { "elem1": "value1", "elem2": "value2" }, "array": [ 0, 1], "not_defined": null }); $json_path[0] = JSON::Path->new( "\$.key" ); $json_path[1] = JSON::Path->new( "\$.object" ); $json_path[2] = JSON::Path->new( "\$.non_exist" ); $json_path[3] = JSON::Path->new( "\$.array" ); $json_path[4] = JSON::Path->new( "\$.not_defined" ); for ( $i=0; $i<=$#json_path; $i++) { print "Path $json_path[$i] "; if ( defined $json_path[$i]->values( $json ) ) { print( "exists\n" ) ; } else { print( "does not exist\n" ) } }