2

json_decode() を使用した後、変数に配列が取得されない理由について少し混乱しています。cURL を使用して投稿データを送信しています。cURL の投稿データは次のようになります。

upload, post_data: Array
(
    [local_file_path] => C:\videos\421F7D21-C659-43E1-9851-2397A4EEFB11.mp4
    [botr_video] => "{\"path\":\"\\\/v1\\\/videos\\\/upload\",\"query\":{\"token\":\"b34f75e5c2c4a23db9850b147f0440fc536bcc7a21847e29\",\"key\":\"hKwNuueB\"},\"protocol\":\"http\",\"address\":\"upload.bitsontherun.com\"}"
)

だから私はcURLを呼び出し、cURL呼び出しの受信側には次のものがあります

$upload_link=json_decode($_POST['botr_video'], true); 
$file_path=$_POST['local_file_path']; 
$api_format="php"; 

error_log('upload link data is of type: '. gettype($upload_link));

エラーログを確認すると、次のように書かれています。

upload link data is of type: string

それは配列であるべきではありませんか?受信 URL の残りのコードは、動作する json_decode に依存します。何か不足していますか?

また、次のよう$upload_linkに変数に json_decode 関数を適用した後、変数をログに記録しました$_POST['botr_video']

error_log('received upload link data: ' . print_r($upload_link, true));

ログに記録される内容は次のとおりです。

received upload link data: {"path":"\\/v1\\/videos\\/upload","query":{"token":"0835b9c46c0619cec9633a22bc9616a693696e4ea39a827c","key":"kRhvNuIF"},"protocol":"http","address":"upload.bitsontherun.com"}

json_decode が投稿データを取得して配列を形成しないのはなぜですか? 文字列として残しているようです。

4

0 に答える 0