我使用以下语法将一些json数据发布到我的URL
curl -H 'Content-Type:application/json' -X POST -d '{"username":"davidwalsh","password":"something"}' http://myProjectURL
我想在我的php函数中将这个json字符串放在数组中
但目前我尝试打印像
这样的post变量echo "<pre>";
print_r($post);
die();
it gives me output
<pre>Array
(
['] => Array
(
[{username:davidwalsh,password:something}] =>
)
)
预期输出
Array(
"username" => "davidwalsh",
"password" => "something"
)
我指的是this
虽然我的问题被标记为重复,但我想通知您,我无法获取通过json发送的每个参数。
我将所有array
key
values
作为单个数组键获取,这绝对是错误的。
答案 0 :(得分:0)
终于得到了答案:
curl -X POST -H 'Content-Type:application/json' -d "{\"username\":\"davidwalsh\",\"password\":\"something\"}" http://myProjectURL
我必须在每个参数和值周围加上双引号 (")
在php文件中进行了一些修改,如下所示。
<?php
echo "<pre>";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$data = json_decode(file_get_contents("php://input") , true);
print_r($data);
}
?>
我收到的输出是:
<pre>Array
(
[username] => davidwalsh
[password] => something
)