src/Model/Behavior/JsonableBehavior.php
public function _decode($val) {
		if (!is_string($val)) {
			return $val;
		}

		$decoded = json_decode($val, $this->_config['decodeParams']['assoc'], $this->_config['decodeParams']['depth'], $this->_config['decodeParams']['options']);

		if ($decoded === false) {
			return false;
		}
		if ($this->_config['decodeParams']['assoc']) {
			$decoded = (array)$decoded;
		}
		if ($this->_config['output'] === 'param') {
			$decoded = $this->_toParam($decoded);
		} elseif ($this->_config['output'] === 'list') {
			$decoded = $this->_toList($decoded);
		}
		return $decoded;
	}
public function _decode($val) {
		if (!is_string($val)) {
			return $val;
		}

		$decoded = json_decode($val, $this->_config['decodeParams']['assoc'], $this->_config['decodeParams']['depth'], $this->_config['decodeParams']['options']);

		if ($decoded === false) {
			return false;
		}
		if ($this->_config['decodeParams']['assoc']) {
			$decoded = (array)$decoded;
		}
		if ($this->_config['output'] === 'param') {
			$decoded = $this->_toParam($decoded);
		} elseif ($this->_config['output'] === 'list') {
			$decoded = $this->_toList($decoded);
		}
		return $decoded;
	}
public function _decode ( $ val ) { if ( ! is_string ( $ val ) ) { return $ val ; } $ decoded = json_decode ( $ val , $ this -> _config [ 'decodeParams' ] [ 'assoc' ] , $ this -> _config [ 'decodeParams' ] [ 'depth' ] , $ this -> _config [ 'decodeParams' ] [ 'options' ] ) ; if ( $ decoded === false ) { return false ; } if ( $ this -> _config [ 'decodeParams' ] [ 'assoc' ] ) { $ decoded = ( array ) $ decoded ; } if ( $ this -> _config [ 'output' ] === 'param' ) { $ decoded = $ this -> _toParam ( $ decoded ) ; } elseif ( $ this -> _config [ 'output' ] === 'list' ) { $ decoded = $ this -> _toList ( $ decoded ) ; } return $ decoded ; }
Fields are absolutely necessary to function properly!

@param array|null $val
@return array|null|false
Fields are absolutely necessary to function properly!