Я получаю некоторые данные из базы данных и кодирую их в json:
$json = "";
if($result = $dbc->query($query)) {
$num = $result->num_rows;
for($i = 0; $i < $num; $i++) {
$row = $result->fetch_array();
$json .= json_encode($row);
if($i != ($num-1)) {
$json .= ',';
}
}
}
, но вместо того, чтобы получать строку json в формат:
{"name:"joe", "age":"22", "etc":"etc"}
Я получаю дублирование каждого значения, потому что оно дает мне имя элемента как индекс ассоциативного и неассоциативного массива. Итак, я получаю:
{"0":"joe", "name":"joe", "1":"22", "age":"22", "3":"etc", "etc":"etc"}
Хотя я все еще могу использовать json. Он по-прежнему в два раза больше, чем я хотел, и поэтому неэффективен. Есть ли способ заставить метод json_encode просто передать мне ассоциативный массив inices в качестве тегов json? (Без сомнения, неправильные слова для описания этих вещей)
Большое спасибо