2015-05-15 59 views
0

我正在連接到第三方Web服務,並且需要能夠將JSON發送到服務。如何使用PHP和cURL將子項添加到JSON HTTP POST請求

我已經配置了一切正常,我可以發送基本的JSON節點,但我掙扎的地方是試圖發送頂級節點的子數據。

因此,舉例來說,我想送...

「children_count」: 1, 
「infants_count」: 0 
「stay_dates」: [{ 
    「date」: 「2015­01­02」, 
    「rate_id」: 2, 
    「room_type_id」: 2, 
    「adults_count」: 2, 
    「children_count」: 1, 
    「infants_count」: 0 
    }], 

在「stay_dates」是我需要發送了孩子。

我該如何使用PHP發送?

這是我的方法到目前爲止,與子件丟失。任何幫助將感激地收到!

// The data to send to the API 
$postData = array(
    'children_count' => 1, 
    'infants_count' => 0, 
    // stay_dates to go in here 

); 

// Setup cURL 
$ch = curl_init('https://www.webservice.com'); 
curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE, 
    CURLOPT_RETURNTRANSFER => TRUE, 
    CURLOPT_HTTPHEADER => array(
     //'Authorization: '.$authToken, 
     'Content-Type: application/json' 
    ), 
    CURLOPT_POSTFIELDS => json_encode($postData) 
)); 

非常感謝!

回答

0

在JSON {}表示對象:

$stayDate = new stdClass(); //down-vote is in order 
$stayDate->date = 「2015­01­02」; 
$stayDate->rate_id = 2; 
$stayDate->room_type_id = 2; 
$stayDate->adults_count = 2; 
$stayDate->children_count = 1; 
$stayDate->infants_count = 0; 
$postData = array(
    'children_count' => 1, 
    'infants_count' => 0, 
    'stay_dates' = [$stayDate] 
);