1

嗨,我正在测试移动应用程序的 REST Web 服务的场景。在测试期间,我需要使用 post 方法将数组发送到我的 php 程序。我正在通过 cURL 控制台进行操作。除了传递一个数组外,其余的工作都很好。请提出任何更改。

以下代码我在 cURL 控制台中传递

C:\curlw32>curl -H "Content-Type: application/json" -X POST http://localhost/slim-login/api/submit -d "{\"specialtyCheckbox\":\"[1,2,3]\"}"

这是捕获它的php代码

$request = Slim::getInstance()->request();
$onsubmit_content = json_decode($request->getBody());
$spec=$onsubmit_content->specialtyCheckbox;
echo json_encode(count($spec));

这里显示的数组长度为 1。

4

4 回答 4

2

不要在数组周围使用引号(如果要发送 json 数组):

"{\"specialtyCheckbox\":[1,2,3]}"
于 2013-04-10T10:12:22.853 回答
0

您可以尝试通过 PHP 脚本传递您的数组吗(使用 CURL)

$ch = curl_init ($url); // your URL to send array data
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); // Your array field
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec ($ch);

print_r($result);
于 2013-04-10T10:12:40.040 回答
0

如果你想通过CURL调用传递数组,答案很简单。将所有输入参数放在数组中,如 -

$post = array('prgmCode'=>'3',
                'userStateCode'=>'TA',
                );

如果您需要在此传递一个输入数组,您可以设置

`$chkBoxArr = array(1,2,3,4);
$post = array('prgmCode'=>'3',
                'userStateCode'=>'TA',
                'chkBoxArr'=>$chkBoxArr
                );`

您可以使用函数 http_build_query() 从数组中生成查询字符串。

`$data = http_build_query($post);`

并将数据设置为您的 curl

`curl_setopt($curlSession, CURLOPT_POSTFIELDS, $data);`

检查服务器端的请求。完毕。:) :)

于 2015-02-03T07:15:41.023 回答
0

请试试这个

 curl -d '{"previous_questions":"['hello', 'world', 'finally']"}' -H "Content-Type: application/json" -X POST http://localhost:5000/quizzes
于 2021-02-18T15:00:49.383 回答