Это мой текущий вывод JSON:
{
0: {
label: 1509521006,
value: 12.324711
},
1: {
label: 1509531448,
value: 12.700929
}
}
Что я должен сделать, чтобы мой вывод JSON был таким:
[
[
1509521006,
12.324711
],
[
1509531448,
12.700929
]
]
Это мой код PHP для преобразования моего массива в JSON
if ($count > 0) {
$categoryArray = array();
foreach ($sensObj as $dataset) {
array_push($categoryArray, array(
"label" => $dataset["time"],
"value" => $dataset["value"]
));
}
print json_encode($categoryArray);
}
Вы создаете выходной JSON, так что просто делайте это так, как вам нужно:
<?php
if ($count > 0) {
$categoryArray = array();
foreach ($sensObj as $dataset) {
array_push($categoryArray, array(
$dataset["time"],
$dataset["value"]
));
}
print json_encode($categoryArray);
}
Или, как альтернативный синтаксис:
if ($count > 0) {
$categoryArray = [];
foreach ($sensObj as $dataset) {
$categoryArray[] = [
$dataset['time'],
$dataset['value'],
];
}
print json_encode($categoryArray);
}
что вы пытаетесь напечатать объект или массив, потому что ваш результат в объекте, и вы хотите в них в массиве.
[ [ 1509521006, 12.324711 ], [ 1509531448, 12.700929 ] ]
Вы можете создать этот JSON с помощью этого кода
<?php
if ($count > 0){
$categoryArray = array();
foreach ($sensObj as $dataset) {
array_push($categoryArray,array( $dataset["time"], $dataset["value"]));
}
print json_encode($categoryArray); }
Попробуй это.
Вам нужно только переиндексировать подмассивы. Просто декодируйте JSON, переиндексируйте подмассивы, а затем перекодируйте его.
Вот одна строка для вас:
Код: (демонстрация)
echo json_encode(array_map('array_values',json_decode($your_json,true)));
Выход:
[["1509521006","12.324711"],["1509531448","12.700929"]]
Я считаю, что для реализации с вашим кодом, вы бы написали:
echo json_encode(array_map('array_values',$sensObj));
// this assumes $sensObj is an array and not an object array