首頁  >  文章  >  後端開發  >  如何使用 PHP 的 `json_decode` 函數解析來自 cURL 的 JSON 回應?

如何使用 PHP 的 `json_decode` 函數解析來自 cURL 的 JSON 回應?

Susan Sarandon
Susan Sarandon原創
2024-11-24 19:47:12489瀏覽

How to Parse JSON Responses from cURL using PHP's `json_decode` Function?

解析 JSON 並提取結果

處理來自以 JSON 格式傳輸資料的 Web 服務的回應時,解析回應並提取其結果對於進一步處理至關重要。以下是如何使用PHP 的cURL 和json_decode 函數來完成此操作:

給定一個範例cURL 請求:

$url = 'http://sms2.cdyne.com/sms.svc/SimpleSMSsendWithPostback?        PhoneNumber=18887477474&Message=test&LicenseKey=LICENSEKEY';

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);

curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Accept: application/json'
));

$result = curl_exec($cURL);

curl_close($cURL);

此請求的回應是一個JSON 字串,如下所示:

{
    "Cancelled": false,
    "MessageID": "402f481b-c420-481f-b129-7b2d8ce7cf0a",
    "Queued": false,
    "SMSError": 2,
    "SMSIncomingMessages": null,
    "Sent": false,
    "SentDateTime": "/Date(-62135578800000-0500)/"
}

要解析此JSON 字串並將其轉換為更易於使用的數組或對象,請使用PHP json_decode 函數:

$json = json_decode($result, true);

透過將 json_decode 的第二個參數設為 true,輸出將會是關聯陣列。這樣可以更輕鬆地使用數組鍵存取 JSON 數據,如下所示:

echo $json['MessageID'];
echo $json['SMSError'];

現在您可以輕鬆存取解析的 JSON 結果並可以繼續進一步處理。

參考:

  • [json_decode - PHP手冊](https://www.php.net/manual/en/function.json-decode.php)

以上是如何使用 PHP 的 `json_decode` 函數解析來自 cURL 的 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn