2013-02-09 3 views
0

В качестве теста, эти данные JSON в настоящее время размещены на моем сайте:Как превратить значение POSTed JSON в PHP?

{ 
    "order": { 
     "id": null, 
     "created_at": null, 
     "status": "new", 
     "total_btc": { 
      "cents": 100000000, 
      "currency_iso": "BTC" 
     }, 
     "total_native": { 
      "cents": 2263, 
      "currency_iso": "USD" 
     }, 
     "custom": "123456789", 
     "button": { 
      "type": "buy_now", 
      "name": "Test Item", 
      "description": null, 
      "id": null 
     }, 
     "transaction": { 
      "hash": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b", 
      "confirmations": 0 
     } 
    } 
} 

Поскольку посылается от сервера к серверу я не могу явно увидеть данные. Я попытался отправить массив $ _POST в текстовый файл, но он выглядит пустым. Я думаю, что мне нужно сделать следующее:

$data = json_decode($jsonData); 

Но как установить переменную $ jsonData?

+0

Это ** требуется ** быть json? Почему бы не отправить общие данные '' '' '' 'разделяемые данные? – zerkms

+0

Вопрос неясно, что посылает это и на какую страницу? Если его отправил PHP, вам нужно эхо-данные json на экране. – Grigor

+0

Чтобы посмотреть на массив '$ _POST []', просто используйте ' ' –

ответ

3

Вы можете использовать wrappers для чтения необработанного запроса POST.

$data = file_get_contents("php://input"); 
+0

Я действительно пробовал это раньше, но я не могу вспомнить результаты. Я загружу и попробую еще раз. – fwho

+0

$ data = json_decode (file_get_contents ('php: // input'), TRUE); file_put_contents ('coinbase.txt', $ data); напечатанный массив – fwho

+1

Не спешите. Посмотрите, что вы получаете $ data = file_get_contents ("php: // input"); file_put_contents ('post.log', $ data); – zoonman

0

Вы пробовали это, сохранили полученное укусом значение переменной и затем расшифровали его?

$postedJsonData= '{"order":{"id":null,"created_at":null,"status":"new","total_btc": 
{"cents":100000000,"currency_iso":"BTC"},"total_native": 
{"cents":2263,"currency_iso":"USD"},"custom":"123456789","button": 
{"type":"buy_now","name":"Test Item","description":null,"id":null},"transaction": 
{"hash":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","confirmations":0}}}'; 

var_dump(json_decode($postedJsonData, true)); 

Истинный параметр будет возвращать ассоциативный массив

+0

Данные отправляются на мой сайт, они еще не включены. – fwho

+0

Вы пробовали, как предложил ответ, print_r ($ _ POST). Я должен показать вам данные, которые отправляются вам. – luckystars

+0

Я пробовал var_dump и print_r Однако, поскольку я не могу фактически просмотреть страницу при отправке POST, я должен отправить результаты в текстовый файл, и ничего не передается. – fwho

0

$ данных = json_decode ($ jsonData, True);

+0

Я могу установить отношение к TRUE, но мне все равно нужно поместить значение в переменную $ jsonData. – fwho