JSON 解码(PHP)

4
我该如何从json中选择“success”的值?
{
"response": {
    "success": true,
    "groups": [
        {
            "gid": "3229727"
        },
        {
            "gid": "4408371"
        }
    ]

}
}

这是我当前的代码:

$result = json_decode ($json);
$success = $result['response'][0]['success'];
    echo $success;

谢谢。 祝好。
2个回答

4
这里是一个快速测试的链接:Quick-Test Here
    <?php

        $strJson    = '{
            "response": {
                "success": true,
                "groups": [
                        {
                            "gid": "3229727"
                        },
                        {
                            "gid": "4408371"
                        }
                    ]
                }
            }';


        $data       = json_decode($strJson);
        $success    = $data->response->success;
        $groups     = $data->response->groups;

        var_dump($data->response->success); //<== YIELDS::      boolean true
        var_dump($groups[0]->gid);          //<== YIELDS::      string '3229727' (length=7)
        var_dump($groups[1]->gid);          //<== YIELDS::      string '4408371' (length=7)

更新:在条件块中处理“success”值。
    <?php

        $data       = json_decode($strJson);
        $success    = $data->response->success;
        $groups     = $data->response->groups;

        if($success){
             echo "success";
             // EXECUTE SOME CODE FOR A SUCCESS SCENARIO...
        }else{
             echo "failure";
             // EXECUTE SOME CODE FOR A FAILURE SCENARIO...
        }

非常感谢,我该如何添加一个if查询,例如if($success == true){ echo "success"; }? - Enge
完美,非常感谢。 - Enge

3
你离解决问题已经很接近了。在json_decode()的第二个参数中放置"true"。

例如:

$result = json_decode ($json, true);
$result['response']['success'];`  -> to get the value of success.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接