我正在尝试在 Magneto2 中创建自定义 Api。它是一个 POST CALL,其中我尝试发送如下所示的关联数组,
{
"data": {
"testData": {
"title": "Test 01",
"place": {
"key": "value"
}
}
}
}
对于上述格式,我将参数注释指定为
string[]
。如果我没有在其中传递 place
数据,它就可以工作。但如果我传递 place
数据,则会抛出如下错误,
Array to string conversion
实际问题是我无法在请求参数中传递关联数组。有人可以帮我解决这个问题吗?
我也尝试创建自定义对象类型。在这方面我也只能给出
string[]
类型。所以我无法在其中添加越来越多的 json 数据。
您可以在 PHP 中创建数组并使用函数编码为 json,例如
$arr= array( 'val1'=>array('your val1', 'your val2'),
'val2'=>array('your val1', 'your val2'),
);
$data = json_encode($arr);
// if you want to set in url
$client = new Zend_Http_Client($uri);
$client->setRawData($data, 'application/json')->request('POST');
稍后您将需要使用 json_decode 来获取您的值。 希望这有帮助!