Magento 2 Rest Api - 请求参数中的关联数组

问题描述 投票:0回答:1

我正在尝试在 Magneto2 中创建自定义 Api。它是一个 POST CALL,其中我尝试发送如下所示的关联数组,

{
    "data": {       
        "testData": {
            "title": "Test 01",         
            "place": {
                "key": "value"
            }
        }
    }
}

对于上述格式,我将参数注释指定为

string[]
。如果我没有在其中传递
place
数据,它就可以工作。但如果我传递
place
数据,则会抛出如下错误,

Array to string conversion

实际问题是我无法在请求参数中传递关联数组。有人可以帮我解决这个问题吗?

我也尝试创建自定义对象类型。在这方面我也只能给出

string[]
类型。所以我无法在其中添加越来越多的 json 数据。

magento magento2 magento-rest-api
1个回答
0
投票

您可以在 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 来获取您的值。 希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.