相关疑难解决方法(0)

json_encode稀疏PHP数组作为JSON数组,而不是JSON对象

我在PHP中有以下数组:

Array
(
    [0] => Array
        (
            [id] => 0
            [name] => name1
            [short_name] => n1
        )

    [2] => Array
        (
            [id] => 2
            [name] => name2
            [short_name] => n2
        )
)
Run Code Online (Sandbox Code Playgroud)

我想将JSON编码为JSON数组,生成如下字符串:

[  
    {  
        "id":0,
        "name":"name1",
        "short_name":"n1"
    },
    {  
        "id":2,
        "name":"name2",
        "short_name":"n2"
    }
]
Run Code Online (Sandbox Code Playgroud)

但是当我调用json_encode这个数组时,我得到以下内容:

{  
    "0":{  
        "id":0,
        "name":"name1",
        "short_name":"n1"
    },
    "2":{  
        "id":2,
        "name":"name2",
        "short_name":"n2"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个对象而不是一个数组.

我怎样才能json_encode将我的数组编码为数组呢?

php json

112
推荐指数
2
解决办法
18万
查看次数

json_encode/json_decode - 在PHP中返回stdClass而不是Array

观察这个小脚本:

$array = array('stuff' => 'things');
print_r($array);
//prints - Array ( [stuff] => things )
$arrayEncoded = json_encode($array);
echo $arrayEncoded . "<br />";
//prints - {"stuff":"things"}
$arrayDecoded = json_decode($arrayEncoded);
print_r($arrayDecoded);
//prints - stdClass Object ( [stuff] => things )
Run Code Online (Sandbox Code Playgroud)

为什么PHP将JSON对象转换为类?

如果不是一个数组,它是json_encoded那么json_decoded产生完全相同的结果?

php json

102
推荐指数
4
解决办法
9万
查看次数

标签 统计

json ×2

php ×2