use base qw(Exporter);
BEGIN {
- $VERSION = '2.21';
+ $VERSION = '2.27';
@EXPORT = qw(JSONDump);
@EXPORT_OK = @EXPORT;
return "{}" if ! @keys;
return "{$self->{hash_nl}${prefix}$self->{indent}"
. join(",$self->{hash_nl}${prefix}$self->{indent}",
- map { $self->js_escape($_, "${prefix}$self->{indent}")
+ map { $self->js_escape($_, "${prefix}$self->{indent}", 1)
. $self->{'hash_sep'}
. $self->_dump($data->{$_}, "${prefix}$self->{indent}") }
@keys)
}
sub js_escape {
- my ($self, $str, $prefix) = @_;
+ my ($self, $str, $prefix, $no_num) = @_;
return 'null' if ! defined $str;
### allow things that look like numbers to show up as numbers (and those that aren't quite to not)
- return $str if $str =~ /^ -? (?: [1-9][0-9]{0,12} | 0) (?: \. \d* [1-9])? $/x;
+ return $str if ! $no_num && $str =~ /^ -? (?: [1-9][0-9]{0,12} | 0) (?: \. \d* [1-9])? $/x;
my $quote = $self->{'single_quote'} ? "'" : '"';
use CGI::Ex::JSONDump;
- my $js = JSONDump(\%complex_data, {pretty => 0});
+ my $js = JSONDump(\%complex_data, {pretty => 1});
### OR
- my $js = CGI::Ex::JSONDump->new({pretty => 0})->dump(\%complex_data);
+ my $js = CGI::Ex::JSONDump->new({pretty => 1})->dump(\%complex_data);
=head1 DESCRIPTION