Index: misc/drupal.js
===================================================================
RCS file: /cvs/drupal/drupal/misc/drupal.js,v
retrieving revision 1.62
diff -u -r1.62 drupal.js
--- misc/drupal.js	14 Dec 2009 23:57:39 -0000	1.62
+++ misc/drupal.js	4 Jan 2010 16:03:23 -0000
@@ -256,7 +256,15 @@
   if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
     return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
   }
-  return eval('(' + data + ');');
+  
+  // Use native JSON method when available.
+  if ( typeof JSON === "object" && JSON.parse ) {
+    data = JSON.parse(data);
+  } else {
+    data = (new Function("return " + data))();
+  }
+
+  return data;
 };
 
 /**
