我正在使用laravel和angular,我正在尝试添加一些图表,现在我需要在图表插件的特定结构中获取数据,目前我的api返回如下所示的json:
"data": {
"enero": {
"value": 50
},
"febrero": {
"value": 130
},
"marzo": {
"value": 220
},
"abril": {
"value": 440
},
"mayo": {
"value": 700
},
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": null,
"diciembre": null
}
预期输出:
"data": [
{
"value": "50"
},
{
"value": "130"
},
{
"value": "220"
},
{
"value": "440"
},
{
"value": "700"
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
}
]
答案 0 :(得分:0)
$data = []; // new array
foreach($oldArray['data'] as $key => $value){
$data['data'][]['value'] = $value['value'];
}
答案 1 :(得分:0)
我们正在使用array_map
来收集所需的输出。
<?php
$string='{"data": {
"enero": {
"value": 50
},
"febrero": {
"value": 130
},
"marzo": {
"value": 220
},
"abril": {
"value": 440
},
"mayo": {
"value": 700
},
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": null,
"diciembre": null
}
}';
$result=array_map(function($value){
return is_array($value) ? array("value"=>$value["value"]) : array("value"=>$value);
}, json_decode($string,true)["data"]);
$newResult["data"]=array_values($result);
echo json_encode($newResult,JSON_PRETTY_PRINT);
<强>输出:强>
{
"data": [
{
"value": 50
},
{
"value": 130
},
{
"value": 220
},
{
"value": 440
},
{
"value": 700
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
},
{
"value": null
}
]
}