0

我有一个 php 文件接收 $_GET 信息和 $_POST 信息,对于 $_GET 信息没有问题,所以对于 $_POST 信息我收到这个字符串:

[{"channel":"\/meta\/handshake","id":"10","minimumVersion":"1.0","supportedConnectionTypes":["websocket","long-polling"],"version":"1.0"}]

用 [ 开始和 ] 结束。

那我怎么读这个?感谢您的帮助 !

4

3 回答 3

1

您可以使用json_decode` 函数

$channels = json_decode(file_get_contents('php://input')); // parse raw post
print_r($channels) // print structure of channels
于 2013-02-25T04:21:06.853 回答
1

首先像这样解码json数据

$arr = json_decode($_POST,true);

然后像这样访问数据

echo $arr[0]['channel']; // output "/meta/handshake"

工作示例http://codepad.viper-7.com/ZeI9n3

于 2013-02-25T04:16:34.453 回答
0

尝试这个 :

$str  = '[{"channel":"\/meta\/handshake","id":"10","minimumVersion":"1.0","supportedConnectionTypes":["websocket","long-polling"],"version":"1.0"}]';


echo "<pre>";
$arra   = json_decode($str,true);
print_r($arra);
/*Uncomment this for your out put*/
//echo "Required : ".echo $arra[0]['channel']; 

输出 :

Array
(
    [0] => Array
        (
            [channel] => /meta/handshake
            [id] => 10
            [minimumVersion] => 1.0
            [supportedConnectionTypes] => Array
                (
                    [0] => websocket
                    [1] => long-polling
                )

            [version] => 1.0
        )

)

参考: http: //php.net/manual/en/function.json-decode.php

于 2013-02-25T04:24:31.150 回答