ng-google-charts
. bar-chart
модуль (Refer here) принимает данные в следующем формате:Многомерный массив PHP в массив JSON объектов
var chartData =
[
{
"c": [ // First bar
{ "v": "Thing A" }, // c_name
{ "v": 6 }, // # of c_assigned - c_completed
{ "v": "red"}, // color of a portion of bar
{ "v": 28 }, // # of c_completed
{ "v": "green"} // color of a portion of bar
]
},
{
"c": [ // Second bar
{ "v": "Thing B" },
{ "v": 4 },
{ "v": "red"},
{ "v": 30 },
{ "v": "green"}
]
},
{
"c": [ // Third bar
{ "v": "Thing C" },
{ "v": 12 },
{ "v": "red"},
{ "v": 21 },
{ "v": "green"}
]
}
];
И print_r($data)
моего PHP является:
Array
(
[0] => Array
(
[c_name] => Thing A
[c_assigned] => 34
[c_completed] => 28
)
[1] => Array
(
[c_name] => Thing B
[c_assigned] => 34
[c_completed] => 30
)
[2] => Array
(
[c_name] => Thing C
[c_assigned] => 33
[c_completed] => 21
)
)
Теперь json_encode($data)
приводит к следующему:
[
{
"c_name":"Thing A",
"c_assigned":"34",
"c_completed":"28"
},
{
"c_name":"Thign B",
"c_assigned":"34",
"c_completed":"30"
},
{
"c_name":"Thing C",
"c_assigned":"33",
"c_completed":"21"
}
]
И json_encode($data, JSON_FORCE_OBJECT)
:
{
"0":
{
"c_name":"Thing A",
"c_assigned":"34",
"c_completed":"28"
},
"1":
{
"c_name":"Thign B",
"c_assigned":"34",
"c_completed":"30"
},
"2":
{
"c_name":"Thing C",
"c_assigned":"33",
"c_completed":"21"
}
}
Я использую $http
в получении данных:
function getThings(a,b){
$http({
method: "POST",
data: $.param({a:a,b:b}),
url: BASE_URL+"Conroller/Function",
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function(data){
$scope.things = data;
});
}
Я новичок в JSON. Как сделать данные из php похожими на формат, необходимый модулю?