PHP Api接收JSON数据

时间:2016-01-31 19:49:50

标签: php json api

我正在尝试使用PHP和JSON创建一个API,但是我仍然坚持在请求的接收/ API端提取JSON。

所以我在我的交易的客户端结尾处这样做:

$data = array("test" => "test");                                                                    
$data_string = json_encode($data);
$ch = curl_init('https://..../api/v1/functions?  key=TPO4X2yCobCJ633&aid=9&action=add');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   

$return = curl_exec($ch);

但是,如何在交易的服务器(接收)方面(在我的API中)接收和提取POST数据?

要点:

我的意思是我有一个客户端正在向API发送JSON文件现在我不知道如何让API端看到并提取/查看数据

1 个答案:

答案 0 :(得分:2)

在接收方,您需要阅读PHP input stream,然后解码:

<?php

// read the incoming POST body (the JSON)
$input = file_get_contents('php://input');

// decode/unserialize it back into a PHP data structure
$data = json_decode($input);

// $data is now the same thing it was line 1 of your given sample code

如果你想更简洁,你显然可以嵌套这些电话:

<?php
$data = json_decode(file_get_contents('php://input'));