wp_json_encode( mixed $data, int $options, int $depth = 512 ): string|false

Encodes a variable into JSON, with some sanity checks.

Parameters

$datamixedrequired
Variable (usually an array or object) to encode as JSON.
$optionsintoptional
Options to be passed to json_encode(). Default 0.
$depthintoptional
Maximum depth to walk through $data. Must be greater than 0.

Default:512

Return

string|false The JSON encoded string, or false if it cannot be encoded.

Source

function wp_json_encode( $data, $options = 0, $depth = 512 ) {
	$json = json_encode( $data, $options, $depth );

	// If json_encode() was successful, no need to do more sanity checking.
	if ( false !== $json ) {
		return $json;
	}

	try {
		$data = _wp_json_sanity_check( $data, $depth );
	} catch ( Exception $e ) {
		return false;
	}

	return json_encode( $data, $options, $depth );
}

Changelog

VersionDescription
5.3.0No longer handles support for PHP < 5.6.
4.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.