Страницы

Поиск по вопросам

пятница, 7 июня 2019 г.

Почему json_decode на данном объекте может не работать?

Ниже представлен HTTP-запрос. Мне нужно извлечь из него данные - массив с ключами cells и distance.
curl http://localhost:80/problem2.php -X POST -H Content-Type:application/json --data-binary "{'cells': [4,8,11,18,19], 'distance': 2}"
Но ничего не выходит, так как данные считываются не верно. Ниже - считывание данных.
$data = json_decode(file_get_contents('php://input'));
Известно, что file_get_contents('php://input') точно получает данный массив. Почему json_decode() может не рабоать?


Ответ

JSON строго регламентирует использование двойных кавычек:
--data-binary '{"cells": [4,8,11,18,19], "distance": 2}'
var_dump(json_decode('{"cells": [4,8,11,18,19], "distance": 2}'));
Fiddle

Комментариев нет:

Отправить комментарий