我想使用PHP修改JSON数据格式。
我有一个这样的数组:
Array (
[0] => stdClass Object (
[0] => Thu Apr 30 12:25:12 +0000 2015 )
[1] => stdClass Object (
[0] => Wed Apr 15 21:57:05 +0000 2015 )
)
我已经尝试了json_encode($data);但它是这样来的:
[{"0":"Thu Apr 30 12:25:12 +0000 2015"},{"0":"Wed Apr 15 21:57:05 +0000 2015"}]
但是我想要这样的格式:
["Thu Apr 30 12:25:12 +0000 2015","Wed Apr 15 21:57:05 +0000 2015"]
您需要在调用json_encode()
之前更改数组的结构。
我不知道为什么你有这样一个结构的数组,你可能想看看$data
是如何以这种格式创建的。但是,使用现有资源:
$dates = array();
foreach ($data as $obj) {
$dates[] = $obj->0;
}
print_r(json_encode($dates));
另外,anant kumar singh提出了一个非常好的观点,如果您稍后对该JSON进行反序列化,它将不会生成相同的数组。因此,您应该再次回顾这个数组是如何序列化和反序列化的,并确保它们匹配。
试试这个函数,传递你的数组作为参数
function to_array_of_strings($data){
$result_array = array();
foreach($data as $key => $object){
foreach($object as $object_key => $object_value){
$result_array[] = $object_value;
}
}
return $result_array;
}
我试了一下,它工作了:
$i=0;
foreach($fin as $key1 => $value){
foreach($value as $key2 => $value2){
$dates[$i]= $value2 ;
$i++;
}
}