::Element;
use HTML::Object::Space;
use HTML::Object::Text;
use HTML::Parser;
use JSON;
use Module::Generic::File qw( file );
use Scalar::Util ();
our $VERSION = 'v0.6.0';
ct_json = 'html_tags_dict.json';
my $tags_repo = $path->child( $dict_json );
if( $tags_repo->exists )
{
# try-catch
local $@;
eval
{
my $json =
e( "Unable to open html tags json dictionary \"$tags_repo\": ", $tags_repo->error, "\n" );
my $j = JSON->new->relaxed;
my $hash = $j->decode( $json );
die( "No html
{
my $event = shift( @_ );
say( "location: " . $doc->location . ", state: " . JSON->new->encode( $event->state ) );
};
$history->pushState({page => 1}, "title 1", "?page=1
"text html" => 1,
"text json" => sub
{
my $json = shift( @_ );
# Do something decoding JSON
return( $hash_ref );
=item * C<json>:
Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests that have a callback placeholder, e.g. ?callback=?, are performed using JSONP unless th
e request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is a
$res );
}
sub parseJSON
{
my( $self, $str ) = @_;
return( $self->error( "No JSON data was provided to parse" ) ) if( $self->_is_empty( $str ) );
my $j = $self->new_json( allow_tags => 0 )
return( $self->error( "An error occurred while parsing ", CORE::length( "$str" ), " bytes of JSON data: $@" ) );
}
return( $rv );
}
sub parseXML
{
my( $self, $str ) = @_;
return(
{
return( 'date' );
}
elsif( $self->_is_a( $this => [qw( Module::Generic::Boolean JSON::PP::Boolean )] ) )
{
return( 'boolean' );
}
elsif( $self->_is_a( $this => 'R