From 20e9ff6dcf964c68797006bc683d942934dadcd3 Mon Sep 17 00:00:00 2001 From: miker Date: Thu, 25 Aug 2005 21:34:25 +0000 Subject: [PATCH] protect hash keys by quoting git-svn-id: svn://svn.open-ils.org/ILS/trunk@1747 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- OpenSRF/src/perlmods/JSON.pm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/OpenSRF/src/perlmods/JSON.pm b/OpenSRF/src/perlmods/JSON.pm index 8ec0c4c2b0..ad8f6e5d1c 100644 --- a/OpenSRF/src/perlmods/JSON.pm +++ b/OpenSRF/src/perlmods/JSON.pm @@ -194,17 +194,18 @@ sub perl2JSON { $output .= '{'; my $c = 0; for my $key (sort keys %$perl) { + my $outkey = $key; $output .= ',' if ($c); - $key =~ s{\\}{\\\\}sgo; - $key =~ s/"/\\"/sgo; - $key =~ s/\t/\\t/sgo; - $key =~ s/\f/\\f/sgo; - $key =~ s/\r/\\r/sgo; - $key =~ s/\n/\\n/sgo; - $key =~ s/(\pM)/sprintf('\u%0.4x',ord($1))/sgoe; + $outkey =~ s{\\}{\\\\}sgo; + $outkey =~ s/"/\\"/sgo; + $outkey =~ s/\t/\\t/sgo; + $outkey =~ s/\f/\\f/sgo; + $outkey =~ s/\r/\\r/sgo; + $outkey =~ s/\n/\\n/sgo; + $outkey =~ s/(\pM)/sprintf('\u%0.4x',ord($1))/sgoe; - $output .= '"'.$key.'":'.key2JSON(undef,$$perl{$key}, $strict); + $output .= '"'.$outkey.'":'.key2JSON(undef,$$perl{$key}, $strict); $c++; } $output .= '}'; -- 2.43.2