我在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将我的数组编码为数组呢?
观察这个小脚本:
$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产生完全相同的结果?