json_decode()

’tag’

Удобный сервис онлайн-парсинга JSON

Октябрь 21, 2012

Очень интересовал JSON декодер в онлайне по функционалу равный функции PHP json_decode. Оказалось сервис существует:

Нравится, что у парсера есть разные режимы работы. Режим "JS eval" позволяет видеть русские символы в структуре JSON.

Сохранил ссылку также к себе в блог на страницу ссылок.

Tags: , ,
Записано в PHP, Программирование    |    Постоянная ссылка

Что делать, если json_decode возвращает пустую строку

Июль 19, 2012

Недавно столкнулся с проблемой. Решил продолжить разработку вне работы, дома, чтобы успеть сдать проект в срок. Однако, скопированный проект не стал работать на локальном сервере. Причина заключалась в том, что определенная команда вместе с параметрами отправляется на сервер с помощью POST запроса из JavaScript jQuery. Параметры передаются в отдельной переменной в формате JSON:

config.params = '{"products":"454,103,505","category":"7"}';

На стороне сервера происходит прием параметров:

$params = $_POST[ 'params' ];

Для использования параметров их нужно перекодировать:

$params = json_decode( $params );

На данном этапе и возникла проблема. После обработки переменной $params с помощью json_decode() она становилась пустой.

В процессе отладки я обратил внимание, что к отправляемой строке с параметрами в формате JSON к кавычкам добавлены обратные слэши.

Оказалось, что на локальном сервере параметр magic_quotes_gpc установлен в true, поэтому функция json_decode() не могла обработать строку.

Решение проблемы:

public function decode_params( & $params ) {
	if ( ! empty( $params ) ) {
		if ( get_magic_quotes_gpc() ) {
			$params = stripslashes( $params );
		}
		$params = json_decode( $params );
	}
}

Tags: ,
Записано в JavaScript, Программирование    |    Постоянная ссылка