получать данные POST из json callback в php

Я использую API, который отправляет обратный вызов с использованием json POST-запросов на страницу, которую я установил.

Пример обратного вызова:

{ "order": { "id": "5RTQNACF", "created_at": "2012-12-09T21:23:41-08:00", "status": "completed", "total_btc": { "cents": 100000000, "currency_iso": "BTC" }, "custom": "order1234", } 

Мне нужно знать, как я могу взять каждый из этих параметров и установить их как переменные php.

Используйте json_decode чтобы взять эту строку и получить массив:

 $array = json_decode($jsonString, true); 

Если вы действительно хотите, чтобы это были как отдельные переменные php, используйте extract :

 extract($array); // now you have a local $order variable echo $order['custom']; // etc... extract($order); // now you have local variables $id, $status, etc echo $id; 

Пример: http://3v4l.org/dqBjT

Имейте в виду, что extract может потенциально перезаписать другие локальные переменные, обычно это не считается хорошей практикой. Я бы рекомендовал получить доступ к данным, которые вам нужны в $array .

Обновление: похоже, вы пытаетесь получить доступ к строке JSON для публикации. Есть две возможности:

  1. Если данные отправляются как обычная пара ключей / значений POST, вы можете сделать print_r($_POST) на своей странице, и вы должны увидеть, где находится строка json.

  2. Возможно, что он отправляется как необработанные данные POST, а не пары ключ / значение. В этом случае вам нужно посмотреть на file_get_contents("php://input"); , Попробуйте повторить это. Если вы найдете строку JSON, просто установите $jsonString = file_get_contents("php://input"); и переходите к следующему json_decode .