我有点困惑,为什么我在使用 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 不获取 post 数据并形成一个数组?好像它把它作为一个字符串。