Zend framework2 ZF2我想传递json字符串

Zend framework2 ZF2我想传递json字符串,zend-framework2,Zend Framework2,我想将json传递给action,类似于传递简单变量: /**module.config.php 'mobileapplication-topup' => array( 'type' => 'segment', 'options' => array( 'route' => '/mob/topup[/:voucherID]',

我想将json传递给action,类似于传递简单变量: /**module.config.php

'mobileapplication-topup' => array(
            'type'    => 'segment',
            'options' => array(
                'route'    => '/mob/topup[/:voucherID]',                    
                'constraints' => array(
                    'voucherID'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                ),
                'defaults' => array(
                    'controller' => 'Mob\Controller\Topup',
                    'action'     => 'index',
                ),
            ), 
和TopupController.php

  public function indexAction()
{   

    echo ($this->params('voucherID'));

        $result = new ViewModel();
        $result->setTerminal(true);
        return $result;
    }


//** no layout //

    $response = $this->getResponse();
    $response->setStatusCode(200);        
    $response->setContent("Error");        
    return $response;
}
类似于此,但只是一个json字符串,而不是voucherID。应该向这个json变量添加什么样的约束


**有没有办法将表单从其他域发布到ZF2?

我找到了解决方案,但我认为这不是一个完美的解决方案。。。 我所想的是,有一种使用route传递变量的方法

mvc.com/controller/param1/param2
在这个例子中,只需传递一个json并在其中一个控制器中对其进行解码。。。 但目前我正在使用based\u GET方法

mvc.com/controller/param1/param2?"Json"={"p1":"value1","p2":"value2"}

你的问题不是很清楚。您想将JSON传递给您的操作,还是让操作返回JSON或两者都返回JSON?无论如何,您都不希望URL中包含JSON,因此这不是您应该在路由中解决的问题。@是的,我想将JSON传递给我的操作。这就是为什么我要问有没有办法做到这一点。将它传递到POST字段中,然后使用$this->getRequest->getPost将它放入控制器中;