【问题标题】:Magento 2 Rest Api - Associative Array In Request ParamMagento 2 Rest Api - 请求参数中的关联数组
【发布时间】:2017-07-27 16:25:10
【问题描述】:

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

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

对于上述格式,我将参数注释为string[]。它的工作如果我没有在其中传递place 数据。但是如果我传递place 数据,它的抛出错误如下所示,

Array to string conversion

实际问题是我无法在请求参数中传递关联数组。谁能帮我解决这个问题?

我也尝试创建自定义对象类型。在那我也只能给string[]类型。所以我无法在其中添加越来越多的 json 数据。

【问题讨论】:

    标签: rest api magento magento2


    【解决方案1】:

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

    【讨论】:

    • 是的。没关系。但是还有其他直接传递 json 数据的选项吗?
    • 请问您的电子邮件ID?
    • 为什么需要其他选项?对于直接发送,下面的链接可以提供帮助。 stackoverflow.com/questions/21271140/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2019-04-10
    • 2015-09-16
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多