这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或极为狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。
7年前关闭。
我正在尝试接收POSTJSON形式的数据。我将其卷曲为:
POST
curl -v --header 'content-type:application/json' -X POST --data '{"content":"test content","friends":[\"38383\",\"38282\",\"38389\"],"newFriends":0,"expires":"5-20-2013","region":"35-28"}' http://testserver.com/wg/create.php?action=post
在PHP方面,我的代码是:
$data = json_decode(file_get_contents('php://input')); $content = $data->{'content'}; $friends = $data->{'friends'}; // JSON array of FB IDs $newFriends = $data->{'newFriends'}; $expires = $data->{'expires'}; $region = $data->{'region'};
但是即使我print_r ( $data)什么也没有回到我身边。这是POST没有表格的正确处理方法吗?
print_r ( $data)
您提交的JSON数据无效JSON。
当您在外壳中使用’时,您将怀疑它不会处理\“。
curl -v --header 'content-type:application/json' -X POST --data '{"content":"test content","friends": ["38383","38282","38389"],"newFriends":0,"expires":"5-20-2013","region":"35-28"}'
可以正常工作。
<?php $foo = file_get_contents("php://input"); var_dump(json_decode($foo, true)); ?>
输出:
array(5) { ["content"]=> string(12) "test content" ["friends"]=> array(3) { [0]=> string(5) "38383" [1]=> string(5) "38282" [2]=> string(5) "38389" } ["newFriends"]=> int(0) ["expires"]=> string(9) "5-20-2013" ["region"]=> string(5) "35-28" }