从javascript发送的PHP解析json

时间:2013-11-07 18:03:51

标签: php json

我正在尝试解析json中的以下php

[{"id":"firstname","optionValue":""},{"id":"lastname","optionValue":""},{"id":"","optionValue":"Submit"}]

我通过get request

将字符串发送给我

这是我到目前为止所得到的:

if(isset($_GET['data'])) {

    $json_a = json_decode($_GET['data'], true);

    foreach ($json_a as $a => $b) {
        echo $a;
    }
}

但是echo $a;不会输出任何内容。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

首先,确保通过执行var_dump($json_a);正确解码JSON字符串。如果JSON无效,json_decode()将返回NULL,您将无法获取内容。

如果您可以验证json_decode()是否正在返回包含所需信息的数组,请继续阅读。

您的代码中包含以下内容:

foreach ($json_a as $a => $b) {
    echo $a;
}

这只会打印出密钥:0, 1, 2。你想要的是价值。为此,您的循环需要如下所示:

foreach ($json_a as $value) {
    echo $value['id'].PHP_EOL;
}

现在打印出来:

firstname
lastname

Demo!