Я получаю данные из БД в виде массива, а затем выводю их в виде JSON.
Некоторые части моего кода:
private function getUsers( ){
$users = $this->db->resource(dbMapper::USER);
return $this->usersToArray( $users );}
private function usersToArray( $users ){
$result = array( );
foreach ($users as $user){
$result[] = array(
'id' => intval( $user->get('id') ),
'name' => $user->get('name')
);
}
return $result;
}
public function getAllData( ){
$result = array( );
$result['users'] = $this->getUsers( );
$results = print_r($result['users'], true); echo $results;
return $result;
}
и затем я получаю JSONиз этого результата:
$data = $model->getAllData( );
$this->_helper->json( $data );
Вывод JSON выглядит следующим образом (я удалил данные для отладки), но даже если нет данных, у меня есть синтаксическая ошибка в первой букве массива:
В моем браузере я получил следующее: SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 1 данных JSON
и если я поместил этот JSOn в валидатор JSON, Я получил это:
Ошибка разбора в строке 1: Массив ([0] => A ^ Ожидается 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE','{', '[', получил 'undefined'
Array
(
[0] => Array
(
)
[1] => Array
(
)
[2] => Array
(
)
[3] => Array
(
)
[4] => Array
(
)
Не уверен, что не так с массивом в JSON ...