diff --git a/core/includes/common.inc b/core/includes/common.inc
index 53a7453..8c0dbfb 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -5033,7 +5033,7 @@ function drupal_clear_js_cache() {
  *
  * We use HTML-safe strings, with several characters escaped.
  *
- * @see drupal_json_decode()
+ * @see json_decode()
  * @ingroup php_wrappers
  */
 function drupal_json_encode($var) {
@@ -5042,16 +5042,6 @@ function drupal_json_encode($var) {
 }
 
 /**
- * Converts an HTML-safe JSON string into its PHP equivalent.
- *
- * @see drupal_json_encode()
- * @ingroup php_wrappers
- */
-function drupal_json_decode($var) {
-  return json_decode($var, TRUE);
-}
-
-/**
  * Returns data in JSON format.
  *
  * This function should be used for JavaScript callback functions returning
diff --git a/core/modules/simpletest/drupal_web_test_case.php b/core/modules/simpletest/drupal_web_test_case.php
index a2d85cb..b1a4778 100644
--- a/core/modules/simpletest/drupal_web_test_case.php
+++ b/core/modules/simpletest/drupal_web_test_case.php
@@ -1834,7 +1834,7 @@ class DrupalWebTestCase extends DrupalTestCase {
    * Retrieve a Drupal path or an absolute path and JSON decode the result.
    */
   protected function drupalGetAJAX($path, array $options = array(), array $headers = array()) {
-    return drupal_json_decode($this->drupalGet($path, $options, $headers));
+    return json_decode($this->drupalGet($path, $options, $headers), TRUE);
   }
 
   /**
@@ -2087,7 +2087,7 @@ class DrupalWebTestCase extends DrupalTestCase {
     }
 
     // Submit the POST request.
-    $return = drupal_json_decode($this->drupalPost(NULL, $edit, array('path' => $ajax_path, 'triggering_element' => $triggering_element), $options, $headers, $form_html_id, $extra_post));
+    $return = json_decode($this->drupalPost(NULL, $edit, array('path' => $ajax_path, 'triggering_element' => $triggering_element), $options, $headers, $form_html_id, $extra_post), TRUE);
 
     // Change the page content by applying the returned commands.
     if (!empty($ajax_settings) && !empty($return)) {
@@ -2762,7 +2762,7 @@ class DrupalWebTestCase extends DrupalTestCase {
     $this->elements = FALSE;
     $this->drupalSettings = array();
     if (preg_match('/jQuery\.extend\(Drupal\.settings, (.*?)\);/', $content, $matches)) {
-      $this->drupalSettings = drupal_json_decode($matches[1]);
+      $this->drupalSettings = json_decode($matches[1], TRUE);
     }
   }
 
diff --git a/core/modules/simpletest/tests/common.test b/core/modules/simpletest/tests/common.test
index 4f20361..dec4269 100644
--- a/core/modules/simpletest/tests/common.test
+++ b/core/modules/simpletest/tests/common.test
@@ -2591,13 +2591,13 @@ class CommonDrupalArrayUnitTest extends DrupalUnitTestCase {
 }
 
 /**
- * Tests the drupal_json_encode() and drupal_json_decode() functions.
+ * Tests the drupal_json_encode() and json_decode() functions.
  */
 class CommonJSONUnitTestCase extends DrupalUnitTestCase {
   public static function getInfo() {
     return array(
       'name' => 'JSON',
-      'description' => 'Tests the drupal_json_encode() and drupal_json_decode() functions to convert PHP variables to JSON strings and back.',
+      'description' => 'Tests the drupal_json_encode() and json_decode() functions to convert PHP variables to JSON strings and back.',
       'group' => 'Common',
     );
   }
@@ -2634,7 +2634,7 @@ class CommonJSONUnitTestCase extends DrupalUnitTestCase {
     $this->assertTrue(substr_count($json, '"') == 2, t('A JSON encoded string contains exactly two ".'));
 
     // Verify that encoding/decoding is reversible.
-    $json_decoded = drupal_json_decode($json);
+    $json_decoded = json_decode($json, TRUE);
     $this->assertIdentical($str, $json_decoded, t('Encoding a string to JSON and decoding back results in the original string.'));
 
     // Verify reversibility for structured data. Also verify that necessary
@@ -2648,7 +2648,7 @@ class CommonJSONUnitTestCase extends DrupalUnitTestCase {
     foreach ($html_unsafe_escaped as $char) {
       $this->assertTrue(strpos($json, $char) > 0, t('A JSON encoded string contains @s.', array('@s' => $char)));
     }
-    $json_decoded = drupal_json_decode($json);
+    $json_decoded = json_decode($json, TRUE);
     $this->assertNotIdentical($source, $json, t('An array encoded in JSON is not identical to the source.'));
     $this->assertIdentical($source, $json_decoded, t('Encoding structured data to JSON and decoding back results in the original data.'));
   }
diff --git a/core/modules/simpletest/tests/form.test b/core/modules/simpletest/tests/form.test
index e79983c..6043afd 100644
--- a/core/modules/simpletest/tests/form.test
+++ b/core/modules/simpletest/tests/form.test
@@ -218,7 +218,7 @@ class FormsTestCase extends DrupalWebTestCase {
     $this->assertRaw(t('!name field is required.', array('!name' => 'required_checkbox')), t('A required checkbox is actually mandatory'));
 
     // Now try to submit the form correctly.
-    $values = drupal_json_decode($this->drupalPost(NULL, array('required_checkbox' => 1), t('Submit')));
+    $values = json_decode($this->drupalPost(NULL, array('required_checkbox' => 1), t('Submit')), TRUE);
     $expected_values = array(
       'disabled_checkbox_on' => 'disabled_checkbox_on',
       'disabled_checkbox_off' => '',
@@ -272,7 +272,7 @@ class FormsTestCase extends DrupalWebTestCase {
       'multiple_no_default_required[]' => 'three',
     );
     $this->drupalPost(NULL, $edit, 'Submit');
-    $values = drupal_json_decode($this->drupalGetContent());
+    $values = json_decode($this->drupalGetContent(), TRUE);
 
     // Verify expected values.
     $expected = array(
@@ -329,7 +329,7 @@ class FormsTestCase extends DrupalWebTestCase {
     // Submit the form with no input, as the browser does for disabled elements,
     // and fetch the $form_state['values'] that is passed to the submit handler.
     $this->drupalPost('form-test/disabled-elements', array(), t('Submit'));
-    $returned_values['normal'] = drupal_json_decode($this->content);
+    $returned_values['normal'] = json_decode($this->content, TRUE);
 
     // Do the same with input, as could happen if JavaScript un-disables an
     // element. drupalPost() emulates a browser by not submitting input for
@@ -346,7 +346,7 @@ class FormsTestCase extends DrupalWebTestCase {
     $this->assertEqual(count($disabled_elements), 37, 'The correct elements have the disabled property in the HTML code.');
 
     $this->drupalPost(NULL, $edit, t('Submit'));
-    $returned_values['hijacked'] = drupal_json_decode($this->content);
+    $returned_values['hijacked'] = json_decode($this->content, TRUE);
 
     // Ensure that the returned values match the form's default values in both
     // cases.
@@ -1215,7 +1215,7 @@ class FormStateValuesCleanTestCase extends DrupalWebTestCase {
    * Tests form_state_values_clean().
    */
   function testFormStateValuesClean() {
-    $values = drupal_json_decode($this->drupalPost('form_test/form-state-values-clean', array(), t('Submit')));
+    $values = json_decode($this->drupalPost('form_test/form-state-values-clean', array(), t('Submit')), TRUE);
 
     // Setup the expected result.
     $result = array(
@@ -1783,14 +1783,14 @@ class FormEmailTestCase extends DrupalWebTestCase {
 
     $edit = array();
     $edit['email_required'] = '  foo.bar@example.com ';
-    $values = drupal_json_decode($this->drupalPost('form-test/email', $edit, 'Submit'));
+    $values = json_decode($this->drupalPost('form-test/email', $edit, 'Submit'), TRUE);
     $this->assertIdentical($values['email'], '');
     $this->assertEqual($values['email_required'], 'foo.bar@example.com');
 
     $edit = array();
     $edit['email'] = 'foo@example.com';
     $edit['email_required'] = 'example@drupal.org';
-    $values = drupal_json_decode($this->drupalPost('form-test/email', $edit, 'Submit'));
+    $values = json_decode($this->drupalPost('form-test/email', $edit, 'Submit'), TRUE);
     $this->assertEqual($values['email'], 'foo@example.com');
     $this->assertEqual($values['email_required'], 'example@drupal.org');
   }
@@ -1828,14 +1828,14 @@ class FormUrlTestCase extends DrupalWebTestCase {
     $edit = array();
     $edit['url'] = "\n";
     $edit['url_required'] = 'http://example.com/   ';
-    $values = drupal_json_decode($this->drupalPost('form-test/url', $edit, 'Submit'));
+    $values = json_decode($this->drupalPost('form-test/url', $edit, 'Submit'), TRUE);
     $this->assertIdentical($values['url'], '');
     $this->assertEqual($values['url_required'], 'http://example.com/');
 
     $edit = array();
     $edit['url'] = 'http://foo.bar.example.com/';
     $edit['url_required'] = 'http://drupal.org/node/1174630?page=0&foo=bar#new';
-    $values = drupal_json_decode($this->drupalPost('form-test/url', $edit, 'Submit'));
+    $values = json_decode($this->drupalPost('form-test/url', $edit, 'Submit'), TRUE);
     $this->assertEqual($values['url'], $edit['url']);
     $this->assertEqual($values['url_required'], $edit['url_required']);
   }
diff --git a/core/modules/taxonomy/taxonomy.test b/core/modules/taxonomy/taxonomy.test
index 00c29dd..b22b37a 100644
--- a/core/modules/taxonomy/taxonomy.test
+++ b/core/modules/taxonomy/taxonomy.test
@@ -758,7 +758,7 @@ class TaxonomyTermTestCase extends TaxonomyWebTestCase {
     // The result order is not guaranteed, so check each term separately.
     $url = url($path, array('absolute' => TRUE));
     $result = drupal_http_request($url);
-    $data = drupal_json_decode($result->data);
+    $data = json_decode($result->data, TRUE);
     $this->assertEqual($data[$first_term->name], check_plain($first_term->name), 'Autocomplete returned the first matching term');
     $this->assertEqual($data[$second_term->name], check_plain($second_term->name), 'Autocomplete returned the second matching term');
 
