php json_decode,数据由[]包装


php json_decode with data wrapped by [ ]

使用true选项,效果良好。

抱歉,谢谢大家。

=========================================

我用以下代码将php数组编码为json

$rows = array();
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $rows[] = $row;
    }
    echo json_encode($rows);
    /* free result set */
    $result->free();
}

使用结束解码

$array = json_decode($server_output)

$server_output类似于这个

[{"userid":"96679","userinfor":"xxxxxxxxx","userlocation":"CA"}]
[{"userid":"153795","userinfor":"xxxxxxxxx","userlocation":"CA"}]
[{"userid":"131878","userinfor":"xxxxxxxxx","userlocation":"CA"}]

但是,$array为NULL:(

特别感谢

这是无效的json:

[{"userid":"96679","userinfor":"xxxxxxxxx","userlocation":"CA"}]
[{"userid":"153795","userinfor":"xxxxxxxxx","userlocation":"CA"}]
[{"userid":"131878","userinfor":"xxxxxxxxx","userlocation":"CA"}]

同时,此部分有效:

[{"userid":"96679","userinfor":"xxxxxxxxx","userlocation":"CA"}]

或者它们中的任何一个单独

$json = '[{"userid":"96679","userinfor":"xxxxxxxxx","userlocation":"CA"}]';
print_r(json_decode($json, true));

输出:

Array
(
    [0] => Array
        (
            [userid] => 96679
            [userinfor] => xxxxxxxxx
            [userlocation] => CA
        )
)

所有数据的有效格式如下:

[
    {
        "userid": "96679",
        "userinfor": "xxxxxxxxx",
        "userlocation": "CA"
    },
    {
        "userid": "153795",
        "userinfor": "xxxxxxxxx",
        "userlocation": "CA"
    },
    {
        "userid": "131878",
        "userinfor": "xxxxxxxxx",
        "userlocation": "CA"
    }
]