繁体   English   中英

从PHP Zend 2中的POST请求解码JSON-String

[英]Decode JSON-String from POST-request in PHP Zend 2

我真的需要帮助。

json_decode返回NULL。

我从POST获得字符串:

$arrayOfItems = $request->getPost()->get('arrayOfItems'); 

该字符串如下所示:

'[{id: 161, value1: 1, value2: 1},{id: 162, value1: 2, value2: 2},{id: 163, value1: 3, value2: 3}]'

我尝试将id放入数组:

$decodedArray = json_decode($arrayOfItems);
$ids = array();
foreach ($decodedArray as $v) {
    $ids[] = $v->id;
}

但是json_decode返回NULL。

欢迎任何帮助。

亲切的问候罗尔特曼

$ arrayOfItems中的键必须是字符串才能使json_decode在此处工作。 例如,以下将起作用:

'[{"id": 161, "value1": 1, "value2": 1},{"id": 162, "value1": 2, "value2": 2},{"id": 163, "value1": 3, "value2": 3}]'

这里可能有几件事。 首先,我不确定这是有效的JSON。

其次,如果$arrayOfItems的输出中带有引号,则它将不起作用。

如果您可以控制所请求的API,请检查其输出并找出为什么使用单引号。 如果没有,您可以将单引号进行正则表达式,但是根据您的输出,您应该谨慎使用它,因为您可能需要它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM