Skip to content

Commit b29b550

Browse files
committed
Forgot to add the parsing part for secureEvalJSON.
1 parent 34e9517 commit b29b550

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

jquery.json.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@
124124
**/
125125
$.secureEvalJSON = function(src)
126126
{
127+
if (JSON && JSON.parse)
128+
return JSON.parse(src);
129+
127130
var filtered = src;
128131
filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@');
129132
filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');

jquery.json.min.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ continue;if(typeof o[k]=="function")
2020
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
2121
return"{"+pairs.join(", ")+"}";}}
2222
$.evalJSON=function(src)
23-
{return eval("("+src+")");}
23+
{if(JSON&&JSON.parse)
24+
return JSON.parse(src);return eval("("+src+")");}
2425
$.secureEvalJSON=function(src)
25-
{var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
26+
{if(JSON&&JSON.parse)
27+
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
2628
return eval("("+src+")");else
2729
throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
2830
{if(_escapeable.test(string))

0 commit comments

Comments
 (0)